Ephemeral Port Prediction

Published on 5 Apr 2020
When a TCP/IP client connects to a new remote host and port, it must select a local port to use for the connection. Usually, any free port will do, so most applications leave local port selection to the kernel. The kernel selects a port at random from the ephemeral port range. Except the selection isn’t really random. As it turns out, the selected port can be predicted in advance, revealing kernel state information.

Fast Packed-to-Planar Conversion Using ARM NEON Intrinsics

Published on 9 Aug 2019

Many embedded video camera drivers produce a packed pixel format known as YUYV (sometimes referred to as YUY2). However, some H.264 video decoders, for example QuickTime Player, only support the planar YUV 4:2:0 pixel format (sometimes referred to as I420). So a fast converter (operating on each pixel of each frame) between the two pixel formats is needed.