Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
srdgame committed Mar 18, 2024
2 parents 9a49d04 + 40fce9d commit e515fbb
Show file tree
Hide file tree
Showing 2,309 changed files with 168,701 additions and 82,061 deletions.
2 changes: 0 additions & 2 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
- "target/linux/at91/**"
- "package/boot/at91bootstrap/**"
- "package/boot/uboot-at91/**"
"target/ath25":
- "target/linux/ath25/**"
"target/ath79":
- "target/linux/ath79/**"
"target/bcm27xx":
Expand Down
2 changes: 1 addition & 1 deletion config/Config-kernel.in
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ config KERNEL_UBSAN_TRAP
config KERNEL_KASAN
bool "Compile the kernel with KASan: runtime memory debugger"
select KERNEL_SLUB_DEBUG
depends on (x86_64 || aarch64)
depends on (x86_64 || aarch64 || arm || powerpc || riscv64)
help
Enables kernel address sanitizer - runtime memory debugger,
designed to find out-of-bounds accesses and use-after-free bugs.
Expand Down
4 changes: 2 additions & 2 deletions include/kernel-5.15
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
LINUX_VERSION-5.15 = .148
LINUX_KERNEL_HASH-5.15.148 = c48575c97fd9f4767cbe50a13b1b2b40ee42830aba3182fabd35a03259a6e5d8
LINUX_VERSION-5.15 = .150
LINUX_KERNEL_HASH-5.15.150 = ee05592b458e7fcdc515b43605883a10cc2f65f2e2b58d60af8a72b93467e4d4
4 changes: 2 additions & 2 deletions include/kernel-6.1
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
LINUX_VERSION-6.1 = .78
LINUX_KERNEL_HASH-6.1.78 = 65206b969831236849c9906eba267e715734a93808e9909fd9b4f12eea10d689
LINUX_VERSION-6.1 = .81
LINUX_KERNEL_HASH-6.1.81 = 0ebd861c6fd47bb0a9d3a09664d704833d1a54750c7bf9c4ad8b5e9cbd49342b
2 changes: 2 additions & 0 deletions include/kernel-6.6
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
LINUX_VERSION-6.6 = .22
LINUX_KERNEL_HASH-6.6.22 = 23e3e7b56407250f5411bdab95763d0bc4e3a19dfa431d951df7eacabd61a2f4
1 change: 1 addition & 0 deletions include/u-boot.mk
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ endef
TARGET_DEP = TARGET_$(BUILD_TARGET)$(if $(BUILD_SUBTARGET),_$(BUILD_SUBTARGET))

UBOOT_MAKE_FLAGS = \
PATH=$(STAGING_DIR_HOST)/bin:$(PATH) \
HOSTCC="$(HOSTCC)" \
HOSTCFLAGS="$(HOST_CFLAGS) $(HOST_CPPFLAGS) -std=gnu11" \
HOSTLDFLAGS="$(HOST_LDFLAGS)" \
Expand Down
1 change: 1 addition & 0 deletions package/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ $(curdir)/merge-index: $(curdir)/merge
(cd $(PACKAGE_DIR_ALL) && $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages; )

ifndef SDK
$(curdir)//compile = $(STAGING_DIR)/.prepared $(BIN_DIR)
$(curdir)/compile: $(curdir)/system/opkg/host/compile
endif

Expand Down
18 changes: 18 additions & 0 deletions package/base-files/files/lib/upgrade/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,23 @@ part_magic_fat() {
[ "$magic" = "FAT" ] || [ "$magic_fat32" = "FAT32" ]
}

fitblk_get_bootdev() {
[ -e /sys/firmware/devicetree/base/chosen/rootdisk ] || return

local rootdisk="$(cat /sys/firmware/devicetree/base/chosen/rootdisk)"
local handle bootdev
for handle in /sys/class/block/*/of_node/phandle /sys/class/block/*/device/of_node/phandle; do
[ ! -e "$handle" ] && continue
if [ "$rootdisk" = "$(cat $handle)" ]; then
bootdev="${handle%/of_node/phandle}"
bootdev="${bootdev%/device}"
bootdev="${bootdev#/sys/class/block/}"
echo "$bootdev"
break
fi
done
}

export_bootdevice() {
local cmdline uuid blockdev uevent line class
local MAJOR MINOR DEVNAME DEVTYPE
Expand Down Expand Up @@ -196,6 +213,7 @@ export_bootdevice() {
done
;;
/dev/*)
[ "$rootpart" = "/dev/fit0" ] && rootpart="$(fitblk_get_bootdev)"
uevent="/sys/class/block/${rootpart##*/}/../uevent"
;;
0x[a-f0-9][a-f0-9][a-f0-9] | 0x[a-f0-9][a-f0-9][a-f0-9][a-f0-9] | \
Expand Down
71 changes: 71 additions & 0 deletions package/base-files/files/lib/upgrade/tar.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# SPDX-License-Identifier: GPL-2.0-or-later OR MIT

# Example usage:
#
# {
# tar_print_member "date.txt" "It's $(date +"%Y")"
# tar_print_trailer
# } > test.tar

__tar_print_padding() {
dd if=/dev/zero bs=1 count=$1 2>/dev/null
}

tar_print_member() {
local name="$1"
local content="$2"
local mtime="${3:-$(date +%s)}"
local mode=644
local uid=0
local gid=0
local size=${#content}
local type=0
local link=""
local username="root"
local groupname="root"

# 100 byte of padding bytes, using 0x01 since the shell does not tolerate null bytes in strings
local pad=$'\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1'

# validate name (strip leading slash if present)
name=${name#/}

# truncate string header values to their maximum length
name=${name:0:100}
link=${link:0:100}
username=${username:0:32}
groupname=${groupname:0:32}

# construct header part before checksum field
local header1="${name}${pad:0:$((100 - ${#name}))}"
header1="${header1}$(printf '%07d\1' $mode)"
header1="${header1}$(printf '%07o\1' $uid)"
header1="${header1}$(printf '%07o\1' $gid)"
header1="${header1}$(printf '%011o\1' $size)"
header1="${header1}$(printf '%011o\1' $mtime)"

# construct header part after checksum field
local header2="$(printf '%d' $type)"
header2="${header2}${link}${pad:0:$((100 - ${#link}))}"
header2="${header2}ustar ${pad:0:1}"
header2="${header2}${username}${pad:0:$((32 - ${#username}))}"
header2="${header2}${groupname}${pad:0:$((32 - ${#groupname}))}"

# calculate checksum over header fields
local checksum=0
for byte in $(printf '%s%8s%s' "$header1" "" "$header2" | tr '\1' '\0' | hexdump -ve '1/1 "%u "'); do
checksum=$((checksum + byte))
done

# print member header, padded to 512 byte
printf '%s%06o\0 %s' "$header1" $checksum "$header2" | tr '\1' '\0'
__tar_print_padding 183

# print content data, padded to multiple of 512 byte
printf "%s" "$content"
__tar_print_padding $((512 - (size % 512)))
}

tar_print_trailer() {
__tar_print_padding 1024
}
Loading

0 comments on commit e515fbb

Please sign in to comment.