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
Guenter Roeck 10e031fbe5 parisc: Fix csum_ipv6_magic on 64-bit systems
[ Upstream commit 4b75b12d70506e31fc02356bbca60f8d5ca012d0 ]

hppa 64-bit systems calculates the IPv6 checksum using 64-bit add
operations. The last add folds protocol and length fields into the 64-bit
result. While unlikely, this operation can overflow. The overflow can be
triggered with a code sequence such as the following.

	/* try to trigger massive overflows */
	memset(tmp_buf, 0xff, sizeof(struct in6_addr));
	csum_result = csum_ipv6_magic((struct in6_addr *)tmp_buf,
				      (struct in6_addr *)tmp_buf,
				      0xffff, 0xff, 0xffffffff);

Fix the problem by adding any overflows from the final add operation into
the calculated checksum. Fortunately, we can do this without additional
cost by replacing the add operation used to fold the checksum into 32 bit
with "add,dc" to add in the missing carry.

Cc: Palmer Dabbelt <palmer@rivosinc.com>
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Cc: stable@vger.kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Charlie Jenkins <charlie@rivosinc.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-04-13 12:51:24 +02:00
arch parisc: Fix csum_ipv6_magic on 64-bit systems 2024-04-13 12:51:24 +02:00
block
certs
crypto
Documentation x86/cpu: Support AMD Automatic IBRS 2024-04-13 12:51:21 +02:00
drivers mtd: rawnand: meson: fix scrambling mode value in command macro 2024-04-13 12:51:23 +02:00
fs ubifs: Set page uptodate in the correct place 2024-04-13 12:51:23 +02:00
include timers: Rename del_timer_sync() to timer_delete_sync() 2024-04-13 12:51:21 +02:00
init
ipc
kernel timers: Rename del_timer_sync() to timer_delete_sync() 2024-04-13 12:51:21 +02:00
lib net: blackhole_dev: fix build warning for ethh set but not used 2024-03-26 18:22:15 -04:00
LICENSES
mm
net netfilter: nf_tables: do not compare internal table flags on updates 2024-03-26 18:22:25 -04:00
samples media: rename VFL_TYPE_GRABBER to _VIDEO 2024-03-26 18:22:22 -04:00
scripts kconfig: fix infinite loop when expanding a macro at the end of file 2024-03-26 18:22:24 -04:00
security smack: Handle SMACK64TRANSMUTE in smack_inode_setsecurity() 2024-04-13 12:51:22 +02:00
sound ALSA: usb-audio: Stop parsing channels bits when all channels are found. 2024-03-26 18:22:23 -04:00
tools selftests/mqueue: Set timeout to 180 seconds 2024-04-13 12:51:23 +02:00
usr
virt KVM: Always flush async #PF workqueue when vCPU is being destroyed 2024-04-13 12:51:22 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.273 2024-03-26 18:23:12 -04: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.