No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jeremy Sowden 32deadf894 lib/ts_bm: reset initial match offset for every block of text
[ Upstream commit 6f67fbf8192da80c4db01a1800c7fceaca9cf1f9 ]

The `shift` variable which indicates the offset in the string at which
to start matching the pattern is initialized to `bm->patlen - 1`, but it
is not reset when a new block is retrieved.  This means the implemen-
tation may start looking at later and later positions in each successive
block and miss occurrences of the pattern at the beginning.  E.g.,
consider a HTTP packet held in a non-linear skb, where the HTTP request
line occurs in the second block:

  [... 52 bytes of packet headers ...]
  GET /bmtest HTTP/1.1\r\nHost: www.example.com\r\n\r\n

and the pattern is "GET /bmtest".

Once the first block comprising the packet headers has been examined,
`shift` will be pointing to somewhere near the end of the block, and so
when the second block is examined the request line at the beginning will
be missed.

Reinitialize the variable for each new block.

Fixes: 8082e4ed0a ("[LIB]: Boyer-Moore extension for textsearch infrastructure strike #2")
Link: https://bugzilla.netfilter.org/show_bug.cgi?id=1390
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-07-27 08:37:12 +02:00
arch ARM: 9303/1: kprobes: avoid missing-declaration warnings 2023-07-27 08:37:06 +02:00
block block/blk-iocost (gcc13): keep large values in a new enum 2023-06-14 10:59:54 +02:00
certs
crypto KEYS: asymmetric: Copy sig and digest in public_key_verify_signature() 2023-06-21 15:44:08 +02:00
Documentation Remove DECnet support from kernel 2023-06-21 15:44:10 +02:00
drivers gtp: Fix use-after-free in __gtp_encap_destroy(). 2023-07-27 08:37:11 +02:00
fs pstore/ram: Add check for kstrdup 2023-07-27 08:37:06 +02:00
include watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config 2023-07-27 08:37:10 +02:00
init
ipc
kernel kexec: fix a memory leak in crash_shrink_memory() 2023-07-27 08:37:10 +02:00
lib lib/ts_bm: reset initial match offset for every block of text 2023-07-27 08:37:12 +02:00
LICENSES
mm mm: make wait_on_page_writeback() wait for multiple pending writebacks 2023-06-28 10:18:42 +02:00
net net: nfc: Fix use-after-free caused by nfc_llcp_find_local 2023-07-27 08:37:11 +02:00
samples samples/bpf: Fix buffer overflow in tcp_basertt 2023-07-27 08:37:07 +02:00
scripts scripts/tags.sh: Resolve gtags empty index generation 2023-07-27 08:37:03 +02:00
security ima: Fix build warnings 2023-07-27 08:37:06 +02:00
sound ASoC: nau8824: Add quirk to active-high jack-detect 2023-06-28 10:18:41 +02:00
tools selftests: rtnetlink: remove netdevsim device after ipsec offload test 2023-07-27 08:37:11 +02:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Remove DECnet support from kernel 2023-06-21 15:44:10 +02:00
Makefile Linux 5.4.250 2023-07-24 19:10:53 +02:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.