Insider Gaming just posted:

Escape from Tarkov’s Biggest PvE Update Has Arrived, Finally Adding Prestige

Escape from Tarkov's huge PvE overhaul is here with the 1.2.0.0 update. Check out what this substantial patch includes here.

insider-gaming.com/escape-from…

#gamingNews #InsiderGaming

Housing protests erupt in Barcelona after Spain calls early election

Spaniards have staged repeated protests in cities across the country in recent weeks, demanding action on an entrenched housing crisis.

abc.net.au/news/2026-10-06/bar…

#Demonstrations #WorldPolitics #HousingPolicy

Insider Gaming just posted:

Star Wars: Galactic Racer To Double The Size Of Multiplayer Party Limits

An upcoming update for Star Wars: Galactic Racer will double the party limits for multiplayer and is planned to drop within weeks of launch.

insider-gaming.com/star-wars-g…

#gamingNews #InsiderGaming

New police tasers to be introduced in troubled NT community
By Tilda Colling

The Northern Territory police will transition to high-tech, long-range, multi-round tasers, with the first 100 to be rolled out in regional and remote areas across the NT.

abc.net.au/news/2026-10-06/tas…

#Police #CrimePrevention #TildaColling

What to know about pneumonic plague after conflicting reports on death in Russia
By Georgie Hewson

Officials in Russia have provided conflicting information about the death of an employee at a Siberian "anti-plague" laboratory. Here's what we know about pneumonic plague.

abc.net.au/news/2026-10-06/can…

#InfectiousDiseases #GeorgieHewson

GamingBolt just posted:

Planet Zoo 2 Drops New Look At the Adorable, Yet Regal, Snow Leopard

Cologne Zoo's Snow Leopard is the perfect showcase of what you need to do to let these beautiful creatures truly thrive in your own.

gamingbolt.com/planet-zoo-2-dr…

#gamingNews #GamingBolt

Top OpenAI boss on hack apology tour 'can't explain' Australian AI distrust
By Cam Wilson

OpenAI's chief strategy officer, Jason Kwon, made his first public appearance in Sydney after the hack, saying he could not explain why Australians distrust AI.

abc.net.au/news/2026-10-06/ope…

#AI #GovernmentPolicy #CamWilson

GamingBolt just posted:

Tomb Raider: Legacy of Atlantis Dev Diary Details Bringing Larson Conway to Life

The upcoming reimagining is in good hands, with Snedeker doing a fine job bringing Conway's arrogance to his take on the character.

gamingbolt.com/tomb-raider-leg…

#gamingNews #GamingBolt

Testing 12 different Zigbee temperature/humidity sensors

Link: smarthomescene.com/reviews/bes…
Discussion: news.ycombinator.com/item?id=4…

Human Rights Council adopts China-proposed resolution on accessibility for all

Iran Space Agency chief: Pars-2 satellite scheduled for launch

Nintendo Life just posted:

Monster Hunter Rise Surpasses 20 Million Sales Worldwide

An absolute monster.Capcom's Monster Hunter series has become an absolute powerhouse over the past two decades and while the company's current focus is on the latest entry Monster Hunter Wilds, it's taken a brief moment this week to provide an update on the sales of the previous release.Read the full article on nintendolife.com

nintendolife.com/news/2026/10/…

#gamingNews #NintendoLife

Iran Space Agency chief: Pars-2 satellite scheduled for launch

The Best Plant-Based Restaurants And Options In Columbushttps://www.columbu…

Frames from September https://www.thelantern.com/2026/10/frames-from-septem…

Precision under pressure: Ohio State rifle’s pursuit of precision https://w…

Banned Books Week hosts Thompson Library events promoting diversity and com…

China’s $19,990 EV Is About to Hit Canada — Toyota & Tesla Are in Trouble!

RT: @rulajebreal L’ex vicepresidente del Parlamento israeliano, Moshe Feiglin, sostiene che la morale ebraica imponga di “spazzare via” Gaza, annettere la Cisgiordania occupata e cacciare il popolo palestinese dalle loro terre.
Alla domanda: «È un punto di vista ebraico voler spazzare via tutta Gaza e annettere la Cisgiordania?», Feiglin risponde senza esitazioni: «Al cento per cento».
E NON si ferma lì. Per Feiglin, tutti i palestinesi di Gaza - compresi i bambini appena nati - sarebbero “il nemico”, non soltanto Hamas.
«Ogni bambino, ogni neonato a Gaza è un nemico», ha dichiarato esplicitamente lo scorso anno. «Il nemico non è Hamas».
Condannare questo incitamento allo sterminio, denunciare chi predica l’espulsione collettiva, la pulizia etnica, la distruzione di una popolazione e la disumanizzazione dei bambini, NON è antisemitismo. È il minimo dovere morale di chi rifiuta il genocidio coloniale e le barbarie e la carneficina in corso contro i civili.
Eppure, i propagandisti filo genocidio israeliano e sostenitori dell’impunità, cercano di rovesciare la realtà: pretendono di presentarci come “vittime” coloro che hanno ucciso Hind Rajab sotto una pioggia di proiettili - 335 - mentre dipingono come “estremisti” gli umanisti, i medici, i giuristi e tutti coloro che chiedono semplicemente una cosa: fermare il massacro, proteggere i bambini, porre fine al genocidio.
Non si può accettare questa inversione morale.
Non si può normalizzare la propaganda israeliana che definisce “nemico” un neonato.

Will AI really destroy humanity? Or are Big Tech companies deceiving you?

Nintendo Life just posted:

Monster Hunter Rise Surpasses 20 Million Global Sales

The hunt began as a Switch exclusive.Capcom's Monster Hunter series has become an absolute powerhouse over the past two decades and while the company's current focus is on the latest entry Monster Hunter Wilds, it's taken a brief moment this week to provide an update on the sales of the previous release.Read the full article on ...

nintendolife.com/news/2026/10/…

#gamingNews #NintendoLife

e926.net/posts/3766907

Source 1: furaffinity.net/view/50293170/
Source 2: d.furaffinity.net/art/flashlio…

(Reference ID: 5419)

Prof. Marandi: If Saudi Arabia Collapses, the Entire Region Will Transform

High Diesel Prices Bankrupted 16 Trucking Companies in Just 30 Days

Link: thedrive.com/news/high-diesel-…
Discussion: news.ycombinator.com/item?id=4…

Jeudi 1er octobre à Carpentras, ville RN, un policier tire avec un feu d’artifice sur le lycée Victor Hugo.

Toujours rien à dire @NunezLaurent ?

La police est hors de contrôle, elle sème le chaos partout dans le pays.

Je saisis immédiatement le procureur de la République au titre de l’article 40.

Il est temps de ramener cette police dans le champ de la République

in reply to Protestation (Deutsch)

This historical letter from Clara Zetkin to Nikolai Bucharin offers a fascinating glimpse into a pivotal period. It's truly a shame these crucial documents aren't more widely accessible. Much like mastering the angles in 8 ball pool, understanding history requires deep insight and careful consideration. This content could be highly valuable for researchers and enthusiasts alike.

How eBPF Actually Runs Inside the Linux Kernel: The Verifier, JIT, and BPF Maps


If you ask most developers how eBPF works, you usually get one of two answers:

  1. "It is a tiny virtual machine inside Linux, like a JVM for the kernel."
  2. "It is a way to run custom C code in the kernel without writing a kernel module."

Both explanations miss the fundamental architecture.

eBPF does not run inside an interpreter loop at runtime, and it definitely does not allow arbitrary C execution. If you could execute arbitrary C in kernel space, a single null pointer dereference or off-by-one loop would panic your entire operating system.

Instead, eBPF is an in-kernel sandboxed execution engine governed by an unforgiving static verifier, compiled to native machine instructions via a Just-In-Time (JIT) compiler, and bridged to user space through lockless, memory-mapped data structures.

Here is the exact mechanical journey of an eBPF program: from user-space bytecode compilation, through the kernel's symbolic execution verifier, down to native CPU execution on kernel hooks.

1. The Virtual CPU: Registers and Calling Convention


Before touching the kernel, your high-level C or Rust code is compiled by LLVM/Clang targeting the bpf backend (clang -target bpf -O2).

The output is not x86 or ARM assembly. It is 64-bit eBPF bytecode designed around an idealized RISC register machine:

+-----------------------------------------------------------------------+
| eBPF Register Architecture |
+-----------------------------------------------------------------------+
| Register | Purpose |
+------------+----------------------------------------------------------+
| R0 | Function return value & exit code to kernel hook |
| R1 - R5 | Function arguments passed to in-kernel BPF helpers |
| R6 - R9 | Callee-saved registers (preserved across helper calls) |
| R10 | Read-only frame pointer to 512-byte stack frame |
+-----------------------------------------------------------------------+

Every eBPF instruction is fixed at 64 bits (8 bytes):

  • 8-bit opcode: Operation type (ALU, memory load/store, branch jump).
  • 4-bit destination register (dst_reg): Target register (0–10).
  • 4-bit source register (src_reg): Source register (0–10).
  • 16-bit offset: Signed offset for stack or memory addressing.
  • 32-bit immediate (imm): Constant integer operand.

0 7 8 11 12 15 16 31 32 63
+---------+-------+-------+-------------------+-------------------------+
| Opcode | Dst | Src | Offset | Immediate |
+---------+-------+-------+-------------------+-------------------------+

Unlike user-space programs that have megabytes of stack space, each eBPF program gets exactly 512 bytes of stack pointed to by R10. Attempting to allocate a large struct on the stack will fail before your code ever runs.

2. Loading Bytecode: The bpf() Syscall


When a user-space loader (written in Go with cilium/ebpf, Rust with aya, or C with libbpf) wants to load an eBPF program, it invokes the bpf() system call with the BPF_PROG_LOAD command:

union bpf_attr attr = {
.prog_type = BPF_PROG_TYPE_KPROBE,
.insns = (uint64_t)bytecode_buffer,
.insn_cnt = instruction_count,
.license = (uint64_t)"GPL",
.log_buf = (uint64_t)verifier_log_buffer,
.log_size = 65536,
.log_level = 1,
};

int prog_fd = syscall(SYS_bpf, BPF_PROG_LOAD, &attr, sizeof(attr));

The kernel receives this bytecode buffer, but it does not execute it immediately. Instead, it hands the raw instruction stream over to kernel/bpf/verifier.c.

3. The Verifier: Symbolic Execution and Safety Proofs


The verifier is the security heart of eBPF. Its job is mathematically proving that your program cannot crash the kernel, dereference null pointers, read uninitialized memory, or loop infinitely.

The verification process runs in two distinct phases:

[ Bytecode Input ]
│
▼
┌────────────────────────────────────────┐
│ Phase 1: DAG & CFG Validation │
│ - Detect unreachable instructions │
│ - Check for uncontrolled loops / cycles│
└──────────────────┬─────────────────────┘
│ Pass
▼
┌────────────────────────────────────────┐
│ Phase 2: Abstract Interpretation │
│ - Simulate every execution path │
│ - Track register states (R0-R10) │
│ - Validate pointer types and offsets │
│ - Enforce bounds & NULL checks │
└──────────────────┬─────────────────────┘
│ Pass
▼
[ JIT Compiler -> Native Machine Code ]

Phase 1: Control Flow Graph (CFG) Validation


The verifier parses the program into a Directed Acyclic Graph (DAG). It ensures:

  • The program has a clean entry point at instruction 0 and ends on a valid BPF_EXIT_INSN.
  • There is no unreachable dead code.
  • Loops are strictly bounded. Historically, all loops were forbidden. Modern kernels allow bounded loops, but the verifier must prove that the loop terminates within a fixed instruction budget (up to 1,000,000 processed instructions during simulation).


Phase 2: Abstract Interpretation (Register State Tracking)


Next, the verifier descends through every possible execution branch, simulating CPU execution instruction by instruction.

For every step, the verifier maintains a struct bpf_reg_state for all 11 registers. A register is never just a raw number; the kernel assigns it a strict type:

  • NOT_INIT: Register has not been written to yet. Reading it is an immediate failure.
  • SCALAR_VALUE: An integer whose possible minimum and maximum values are tracked via tnum (tristate numbers tracking known 0s, known 1s, and unknown bits).
  • PTR_TO_CTX: Pointer to the hook's context struct (for example, struct xdp_md or struct pt_regs).
  • PTR_TO_MAP_VALUE_OR_NULL: Pointer returned by a map lookup that might be valid or might be 0 (NULL).
  • PTR_TO_MAP_VALUE: A verified, non-null pointer to map memory.
  • PTR_TO_STACK: A pointer to the local 512-byte stack frame.


Why the Verifier Rejects Unchecked Pointers


Look at this common bug in C:

struct packet_stat *stat = bpf_map_lookup_elem(&stats_map, &key);
stat->packets += 1; // Crash if key does not exist!

When compiled to eBPF bytecode and evaluated:

  1. bpf_map_lookup_elem() executes. The verifier marks R0 with the type PTR_TO_MAP_VALUE_OR_NULL.
  2. The next instruction attempts a memory store: *(u64 *)(R0 + 0) += 1.
  3. The verifier checks the type of R0. Because R0 is still PTR_TO_MAP_VALUE_OR_NULL (and not PTR_TO_MAP_VALUE), the verifier aborts with:

R0 invalid mem access 'map_value_or_null'

To pass verification, you must write a conditional branch:

struct packet_stat *stat = bpf_map_lookup_elem(&stats_map, &key);
if (!stat) {
return 0; // Branch A: R0 is NULL, exit safely
}
// Branch B: Verifier updates R0 type to PTR_TO_MAP_VALUE
stat->packets += 1; // Safe!

When the verifier evaluates the conditional jump if R0 == 0, it branches its simulation state:

  • On the true path: R0 is known to be 0.
  • On the false path: R0 is promoted to PTR_TO_MAP_VALUE with known valid memory boundaries. Only here is dereferencing permitted.


4. JIT Compilation: From Bytecode to Native Machine Instructions


Once the verifier approves the bytecode, interpreting it instruction-by-instruction on every packet or syscall would introduce unacceptable CPU overhead.

The kernel runs the verified bytecode through an architecture-specific Just-In-Time (JIT) compiler (arch/x86/net/bpf_jit_comp.c on x86-64):

+--------------------+ eBPF JIT +--------------------+
| eBPF Bytecode | ─────────────────> | Native x86-64 |
| r1 = *(u64*)(r1+0) | | mov 0x0(%rdi),%rdi |
| r0 = 0 | | xor %eax,%eax |
| exit | | ret |
+--------------------+ +--------------------+

The JIT compiler maps eBPF virtual registers directly to physical hardware registers:

  • R0 -> %rax
  • R1 -> %rdi
  • R2 -> %rsi
  • R3 -> %rdx
  • R10 -> %rbp (stack frame pointer)

Once compiled into machine code:

  1. The memory page containing the generated instructions is allocated in kernel space.
  2. The kernel marks the page as read-only and executable (PAGE_KERNEL_ROX).
  3. Memory write permissions are permanently stripped from the page to prevent any privilege escalation or code-patching attacks.


5. Hook Attachment and Invocation


The compiled eBPF program exists in the kernel as an anonymous file descriptor (prog_fd). To run, it must attach to a kernel hook point.

Linux Kernel Space
┌────────────────────────────────────────────────────────────────────────┐
│ │
│ Network Device Driver ───> [ XDP Hook ] ───> Native eBPF Machine Code │
│ │ │
│ Syscall Entry (e.g. execve) ─> [ Tracepoint ] ─────┤ │
│ │ │
│ Kernel Function ─────────> [ Kprobe / Fentry ] ────┘ │
│ │
└────────────────────────────────────────────────────────────────────────┘

Common hook attachment targets include:

  • XDP (eXpress Data Path): Runs inside the network network interface card (NIC) driver before the Linux network stack even allocates an sk_buff.
  • Tracepoints: Static trace locations defined in kernel source code (for example, sys_enter_execve).
  • Kprobes / Kretprobes: Dynamic insertion of breakpoints at arbitrary kernel function entries and returns.
  • LSM (Linux Security Module): Security hooks capable of blocking unauthorized file, process, or network operations before they execute.

When the hook triggers (for example, a packet arrives at the NIC):

  1. The kernel prepares a context pointer (ctx) containing packet data or CPU register states.
  2. The kernel places this pointer into register R1 (%rdi).
  3. It performs a direct hardware call instruction (callq) to the JIT-compiled function address.
  4. The eBPF function executes at full bare-metal CPU speed.
  5. The return code left in R0 (%rax) tells the kernel what to do next: pass the packet (XDP_PASS), drop it (XDP_DROP), or redirect it (XDP_TX).


6. Zero-Overhead Communication: BPF Maps and Ring Buffers


eBPF programs cannot call printf(), write directly to disk files, or open arbitrary TCP connections. So how do they communicate telemetry and state to user-space applications?

They use BPF Maps: kernel-managed, lockless memory structures shared between kernel and user space.

┌────────────────────────────────────────────────────────┐
│ User Space Application │
│ (Go / Rust / C Monitoring Daemon) │
└───────────────────────────▲────────────────────────────┘
│ mmap() / read()
│
┌───────────────────────────▼────────────────────────────┐
│ BPF Ring Buffer │
│ [Header Page] [Data Memory Page 1] [Data Page 2] │
└───────────────────────────▲────────────────────────────┘
│ bpf_ringbuf_submit()
│
┌───────────────────────────┴────────────────────────────┐
│ eBPF Kernel Program │
│ (Attached to tracepoint) │
└────────────────────────────────────────────────────────┘

The Old Approach: Perf Event Arrays


Historically, eBPF used BPF_MAP_TYPE_PERF_EVENT_ARRAY. This allocated a separate ring buffer for every individual CPU core.

  • The Problem: Memory had to be over-provisioned across all cores to prevent drops on busy cores, while idle cores wasted RAM. If one core experienced a sudden spike, events were dropped even if total memory was mostly free.


The Modern Standard: BPF_MAP_TYPE_RINGBUF


Introduced in Linux 5.8, the BPF Ring Buffer provides a single, lockless, multi-producer single-consumer queue shared across all CPU cores:

  1. Kernel Side (Reservation and Submission):

struct event *e = bpf_ringbuf_reserve(&events, sizeof(*e), 0);
if (!e) {
return 0; // Drop if buffer is saturated
}
e->pid = bpf_get_current_pid_tgid() >> 32;
bpf_get_current_comm(&e->comm, sizeof(e->comm));
bpf_ringbuf_submit(e, 0);


  1. User Space Side (Zero-Copy Polling): The user-space daemon calls mmap() on the ring buffer file descriptor. It monitors the buffer via epoll() or a polling loop without issuing costly read() system calls for individual events.

This architecture enables millions of kernel events per second to stream into user space with negligible CPU overhead and zero memory copies.

7. The Mental Model: eBPF in Summary


To build an accurate mental model of eBPF:

DimensionLoadable Kernel Module (LKM)Traditional User-Space AgenteBPF Program
Execution LocationKernel spaceUser spaceKernel space
Safety GuaranteeNone (Bug = Kernel Panic)High (OS sandbox)Absolute (Static verifier proof)
Execution SpeedNative CPUContext-switch overheadNative JIT-compiled CPU
Observability DepthComplete accessLimited by syscallsRaw tracepoints, XDP, and kprobes
Deployment RiskRequires kernel recompilation/rebootEasy to restartDynamic loading via bpf() syscall


eBPF is not a virtual machine running on top of Linux. It is a compiler-verified, JIT-accelerated extension pipeline that allows you to safely inject programmable logic directly into the Linux kernel runtime.#linux #systems #performance #programming #software #coding #development #engineering #inclusive #community

AI drones on the cards for WA as shark tagging program expanded
By Blake Kagi

Western Australia's shark tagging program will be expanded and the use of AI-powered drones investigated as part of a suite of measures aimed at keeping beachgoers safe.

abc.net.au/news/2026-10-06/sha…

#SharkAttacks #AI #Police #AccidentsandEmergencyIncidents #BlakeKagi

Nintendo Life just posted:

Nintendo Announces Another Switch 2 Hardware Bundle

Japan gets a new "Choose-Your-Game" bundle.The Switch 2 is now over a year into its life, and Nintendo has now shifted more than 23 million units globally. In recent months, the video game giant has announced multiple bundles to help boost worldwide sales and it's now Japan's turn.Read the full article on nintendolife.com

nintendolife.com/news/2026/10/…

#gamingNews #NintendoLife

e926.net/posts/5763917

Source 1: deviantart.com/foxlett/art/thi…

(Reference ID: 27536)

DualShockers just posted:

Silent Hill f And Fatal Frame Creators Explain Why Japanese Horror Hits Different

The two Japanese horror legend touched on topics like Japanese architecture and the power of female protagonists in a new interview.

dualshockers.com/silent-hill-f…

#gamingNews #DualShockers

This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.

⇧