News › networking
By The Linux Camp News, October 28, 2026
The proposal would remove one optional PPP compression codec, not PPP itself. Deng reports that the decoder failure disables compression while leaving the link up; Deflate and MPPE support would remain unchanged.
Qingfang Deng posted a net-next request for comments on October 28, 2026, at 06:33 UTC proposing removal of BSD-Compress, an optional data-compression codec for Linux Point-to-Point Protocol connections. As of the October 28 source retrieval, the captured thread had no replies and Phoronix described the patch as pending review. This is a proposed retirement, not an accepted kernel change or released fix. 2 1 3
Deng identifies a mismatch between the decoder's arithmetic assumptions and its storage type. The accumulator, accm, holds code bits during decoding: the algorithm expects 32 bits, but declares it as unsigned long. On 64-bit systems, a left shift retains already-consumed bits that the algorithm expects to discard, contaminating the next code. Deng reports a fatal bad-code error on the first compressed packet in an x86-64 PPP-over-PTY loopback test. That is the submitter's reproduction, not independent validation. 2
The operational distinction is between losing compression and losing connectivity. According to Deng, pppd normally prefers Deflate when both methods can be negotiated. If BSD-Compress is selected and hits this error, pppd disables compression but leaves the link up, allowing uncompressed traffic to continue. Operators should therefore not interpret the reported word “fatal” as a PPP link failure. 2
The argument for removal rather than repair also rests on maintenance. Deng says a related problem drew a suggestion to use unsigned int in 2024, but the decoder still uses unsigned long, and the PPP drivers and compressors are orphaned. That is the submitter's rationale for retiring the codec, not evidence that reviewers have agreed retirement is preferable. 2
The patch would remove the codec's kernel configuration and build entries, default-configuration and selftest selections, and the unused internal DO_BSD_COMPRESS definition. It would preserve userspace-facing protocol definitions and the generic compressor interface. Deflate and MPPE support would remain unchanged, so the proposed scope is one optional codec rather than the surrounding PPP compression infrastructure. 2
For troubleshooting, check pppd logs for “Lost compression sync: disabling compression.” The message identifies compression being disabled; by itself it does not establish this accumulator bug as the cause. For a future kernel carrying the removal, Deng describes an existing compatibility path: the BSD codec's PPPIOCSCOMPRESS request returns -EINVAL when the codec is absent, and pppd's capability probe then disables BSD-Compress negotiation. 1 2
The supplied reproduction does not identify its kernel revision or pppd version, so it does not establish a verified affected-release range. Nor does the pending proposal establish which release, if any, will remove the codec. Operators evaluating compatibility still need to distinguish the demonstrated x86-64 loopback failure from behavior on their own PPP configurations. 2 1