The bootcount init script is missing the executable bit (644 instead of 755),
causing the script to not be executable:
/etc/preinit: line 44: /etc/init.d/bootcount: Permission denied
Fixes: c3b8108a2be4 ("ramips: Add support for Xiaomi MiWiFi 3A")
Signed-off-by: Oliver Sedlbauer <os@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/22446
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a15b224e8309fa203dcc23fe95c8cf8dd748255d)
(cherry picked from commit 81be8a8869a36828ded87c8f5de09214d594d433)
The MIPS code assigns the clock node based on the device tree node name.
This name was renamed with kernel 6.12.58 and v6.6.117. Adapt our out of
tree device tree files to this rename to fix loading the STP GPIO
driver.
Without this fix the driver fails like this:
```
[ 0.320000] gpio-stp-xway 1e100bb0.stp: Failed to get clock
[ 0.330000] gpio-stp-xway 1e100bb0.stp: probe with driver gpio-stp-xway failed with error -2
```
Link: https://git.kernel.org/linus/b0d04fe6a633ada2c7bc1b5ddd011cbd85961868
Fixes: https://github.com/openwrt/openwrt/issues/21697
Co-Authored-By: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22444
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit d405685b44c61b8d0f1ec046d58adfd8b1426893)
[Fix danube.dtsi too]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 3214b8a3289bfa219706447804a2f1daad3521d9)
Cherry pick an upstream patch to fix a memory leak.
Fixed in OpenWrt main branch in commit
2c2cea8864db ("package: update jsonfilter to latest HEAD 2026-03-12")
Link: e086664e6a
Link: https://github.com/openwrt/openwrt/pull/22440
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 77d54cca84ffbb7754d592712ee96b0fcbff0d92)
Update procd cherry-picking fixes from main branch to dedicated
openwrt-24.10 backport branch.
c59f2d8 instance: don't print error in case cgroups are disabled
196291a instance: use positive error numbers for strerror()
d23ddec rcS, ubus: constify char * arguments and variables where appropriate
aeeef20 instance: use mkdir_p helper
d033b7c signal: handle SIGUSR1 as halt
8bc8377 cgroups: fix syntax error
909d02b instance: check length of names when creating cgroups
5ec782f procd: jail/cgroups: fix OOB write in cgroups_apply()
8581313 hotplug-dispatch: fix filter disallowing setting PATH
6265463 service instance: Improve handling of watchdog config changes
45bef92 service instance: Fix overwriting of watchdog linked list members
8294471 coldplug: fix missing header include
fb1c92b hotplug-dispatch: fix missing header include
6dafa86 initd/coldplug: create /dev/null before running udevtrigger
c268f13 hotplug-dispatch: redirect output to /dev/null
b8c4f86 hotplug-dispatch: use stat if d_type is DT_UNKNOWN
1f2aa1a system: fix arguments validation in ubus handler
7e5e049 service: fix use-after-free on service data update
3f48d76 instance: convert jail feature flags to bitmap
2c7c0d2 rcS: avoid duplicate pending "running" calls
5a9b16d service: re-run init script "running" command after instance restart
d5a45ff jail: fix NULL-pointer dereference when connection to ubus failed
8de8cdf jail: always handle mkdir() return value
fa594db jail: seccomp-oci: fix uninitialized pointer read in error path
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 3e77f8c7abdefa321f2fbc97a27e9d482789a183)
a52cdb354d13 dns: validate IPv4 record addresses
b798c24205b5 dns: validate IPv6 record addresses
a3dcb4adc635 dns: validate reverse dns query name lengths
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit 8a7eb57ab8366045d7e1470c003827391e37684b)
(cherry picked from commit 68befe26ac033d7817014ff014e8eedc4c701360)
75bedc5 wireless-regdb: Update regulatory info for Australia (AU) for 2025
a6e5195 wireless-regdb: Update broken link in regulatory.bin(5) manpage
9e8c67f wireless-regdb: Update regulatory info for Malaysia (MY) for 2024
61a4637 wireless-regdb: Update regulatory info for Malaysia (MY) for 2025
5cefe55 wireless-regdb: Update regulatory info for Tunisia (TN) on 6GHz for 2025
1a729ae wireless-regdb: Update regulatory info for Canada (CA) for 2025
ea20dfa wireless-regdb: update regulatory database based on preceding changes
Link: https://github.com/openwrt/openwrt/pull/22150
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7c5e329b541066613c09aafd89f7bb6cd8b3bc67)
(cherry picked from commit fb624926e3ed1165a40f07e9a47b6ea5ebacb487)
The MT7531 has an incorrect interrupt number described in the DTS.
This commit also adds PHY interrupts. They work the same as on
the MT7988.
Tested on Gemtek W1700k.
Suggested-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/21016
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 788958880b66dd3f451d53801c8d25e5e6cfe1b8)
[ fix conflict error, adapt for kernel 6.6 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 6f55a705896900d199a338a82d2e5e3238b74681)
Let node unit address same as reg.
Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 077120fb64450f6780f07139faccd67e587560a5)
(cherry picked from commit 2045b37953a8dccd8adb6b0c85d3b2be8d3aff26)
Different boards use different port map. For example, some board may use
a GE port as WAN. So defining the led label in board-level is better.
Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ea54b6a4786c1f6e687010a46e9f22a4d19e8219)
(cherry picked from commit 0dbc3f8a3c01afb5141f4feb80a0d6edfd04c247)
Different boards use different port map. Defining the port labels in
board-level is better.
Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e2f7ad08c76593c8cb5abb70088b0813005aa09c)
(cherry picked from commit 90b84588082233019268ab14c6ab60727756159a)
Some board only use some of them, so enable as necessary in
board-level dts.
Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20482
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 007aa5a51ce8bd596d35d8e2c7bec2240dbca94d)
(cherry picked from commit ef3c7ee1fbd4deafecdeaaf420bebd51078e9d53)
Cleanup kernel config and drop all unrelated configs. This have the side
effect of fixing the port not going up automatically due to Bridge VLAN
Filtering disabled.
Link: https://github.com/openwrt/openwrt/pull/18112
(cherry picked from commit 7805100e15005ab5a4db59d0cd42612f6fa87c45)
[ fix conflict errors ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 6dda63a37316d9afb9900fafa80c92a3ee85c3f4)
Enable and configure DMA contiguous memory allocator. Without this
CMA itself will be disabled.
Fixes: ae8bf1a26e ("imx: add imx8m support")
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
(cherry picked from commit eef354ff348ab2c1ec9db753ba192682d61ad313)
Link: https://github.com/openwrt/openwrt/pull/22203
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 01aff6f3c24f0fbef56bd32287090063ea6368aa)
Backport changes to the pinctrl driver to bring it closer to
the upstream version. Also fix the bug in the pinctrl driver:
pinctrl-airoha ...pinctrl: invalid function mdio in map table
Fixes: bd7f5b3 ("airoha: replace AN7583 pinctrl patch with upstream version")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20770
(cherry picked from commit 69f0ee5bafee745540e65f6e43d3fbf1ceb0f6d8)
[ fix conflict errors, adapt to 6.6 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 9c04f527c62b38faf25e39e958679d2c717c618d)
Replace Airoha AN7583 pinctrl patch with upstream version as it has been
accepted upstream. Add the related kernel version tag to identify it.
(cherry picked from commit bd7f5b32a6b343a07a2171236671fece947c5d57)
[ fix conflict errors, adapt to 6.6 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 530cd87815992c8234964d23bd1417251c47f298)
The shared reset procedure of MT7610 and MT7612 stop all queues before
starting the reset sequence.
They however never restart these like other supported mt76 chips
do in the reconfig_complete call. This leads to TX not continuing
after the reset.
Restart queues in the reconfig_complete callback to restore
functionality after the reset.
Signed-off-by: David Bauer <mail@david-bauer.net>
Link: https://patchwork.kernel.org/project/linux-wireless/patch/20251129023904.288484-1-mail@david-bauer.net/
(cherry picked from commit a89e40993bd2bbd79d5dcc70900f2eed7767e79d)
On MT7620-class platforms (CONFIG_NET_RALINK_MT7620) we observe sporadic
wrong-jump-targets, kernel oopses, hanging, corrupted backtraces or even
"half-written" instructions when the compiler emits a direct 'jal imm26'
call.
This is triggered in:
- the small random helpers inside get_random_u32_below(), and
- the blkcg_maybe_throttle_current() call in resume_user_mode_work().
This patch forces those two call sites to use an indirect call via
a volatile function pointer (load into register + jalr) when building
for MT7620, avoiding embedding a 26-bit immediate jump target.
Additionally, on MT7620 builds the exec path in fs/exec.c is modified:
- skip arch_align_stack() + PAGE_ALIGN() in setup_arg_pages()
because the micro-randomization (< PAGE_SIZE) implemented by many
ports (including MT7620) is negated immediately by PAGE_ALIGN().
Skipping the redundant PAGE_ALIGN() reduces exposure to the
problematic code pattern.
These changes are targeted workarounds for MT7620; behavioral logic is unchanged.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/20553
(cherry picked from commit 22ccb445e611018ede702e6c0798640353632cce)
Link: https://github.com/openwrt/openwrt/pull/22216
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f7005097ae35508ad619251ce7ed127580218e61)
Add some additional Gateworks Venice boards to sysupgrade support.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22202
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a9f4daa3febdcd7975316b2d113efb7a8928980b)
(cherry picked from commit 2bd8d4921f76d83d5d69bb963a0703c9e098a937)
Add support so openwrt can be compiled using
coreutils from GNU or uutils.
Signed-off-by: Marcos Alano <marcoshalano@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19883
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 67345ead6cf2c406df11f1c341f5c34dfe28bd01)
(cherry picked from commit 1bd47397ae890fc951d77f3010d58ace73839f76)
Switch the mac lookup to NVMEM on UBI layout and add label-mac for 24.10
Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
(cherry picked from commit 73819013eebca620944673e333dc47fb36bec95c)
The GPIO line connecting to the reset signals of the GS1900-24E(A1)'s
external ICs (RTL8218B phys and RTL8231 expander) cannot be asserted by
the MDIO subsystem, as the reset is shared between busses.
To prevent users from accidentally asserting the reset line, a GPIO hog
is created to permanently de-assert the signal, reliably keeping the
phys and GPIO expanders on.
Tested-by: Simon Fischer <simi.fischa@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit ba57225066243b28d2802ea5c47313c97767150e)
(cherry picked from commit a98f49b968a55d0a33e841259b76eb38b9396386)
The reset line wired to the RTL8231 on the GS1900 series may also
connect to other external ICs on the board. On the GS1900-24E, the
reset line is wired (via buffers) to the board's RTL8231 expanders and
the RTL8218 phys. As these external devices (phys) are on different
busses, the reset line shouldn't be specified on one bus or the other.
Drop the reset specification from the generic GPIO description, so it
can be added back on a per-device basis after confirming the behavior.
Link: https://github.com/openwrt/openwrt/issues/18620
Fixes: fd978c2e80 ("realtek: Enable Zyxel GS1900's RTL8231 reset line")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit cdbd9eb448a8fa802cbc2b2f8a1dec93b3999a3b)
(cherry picked from commit ffb3f31f08b4aec6144b5d7e7bd2c2ab1d68f55a)
Newer Cudy WR3000H units have a Motorcomm YT8821 PHY instead of a
Realtek PHY on the WAN port. Before this commit, the Motorcomm PHY
could not be autodetected by the kernel -- the PHY would show up as
just a generic clause 45 PHY and the proper driver would not be loaded.
The cause of the detection failure likely was that the YT8821 PHY was
held in reset during PHY detection. To fix this, move the reset GPIO
definition to the MDIO bus level. This reset line is deasserted before
the autodetection process, see also [1]. With this change, both Realtek
and Motorcomm PHYs can be supported with a single device tree.
[1]: https://lore.kernel.org/all/20251119134750.394655-1-horatiu.vultur@microchip.com/
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21399
(cherry picked from commit 02f0efd60b423b4ce9b996f7c986dd68965a50d4)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit bed6f08c36f85479448af23a0ce4ca00dd09fa8e)
Recent Cudy WR3000H v1 units have a Motorcomm YT8821 2.5G PHY for
the WAN interface instead of the RTL8221B PHY used in earlier units,
so add kmod-phy-motorcomm to be able to use it.
Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
[linuxtardis@gmail.com: slightly reworded the commit description]
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21399
(cherry picked from commit dbafbab8769b92c8466ea83400280b4f549ace71)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 09e56437e8be4e0d85ab5697ec7a12b463a05397)
The Motorcomm YT8821 2.5G PHY is being used in some devices as an
alternative to devices like the RTL8221B. Package it as a kmod
so it can be used as a device package rather than requiring changes
to the target kernel config.
Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
Link: https://github.com/openwrt/openwrt/pull/21399
(cherry picked from commit 96a133737433eca069e26b1730ea5a895b8f2fd8)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 194275c6f308ede252720c3ef7d3f485d997b15e)
A recently introduced hardware revision of the Cudy WR3000H
router uses the Motorcomm YT8821 PHY chip on its 2.5G WAN port.
Backport the YT8821 enablement patch to the 6.6 kernel to make
the new WR3000H supportable on OpenWrt 24.10.
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f3de64751cfe5ff663ec8e168d184c9ede36b5e5)
Add a module for tpm-tis-spi for TCG TIS 1.3 TPM security chips
connected to a regular non-tcg SPI master.
Add imx target compatibility for kmod-tpm.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/21726
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 92a94dc9b0df12111e4c81ff1a280e32deb5eba3)
Link: https://github.com/openwrt/openwrt/pull/21781
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7c22ba7b333eeea4725603a5d55d9dbef2860959)
OpenSSL 3.0.19 is a security patch release. The most severe CVE fixed
in this release is High.
This release incorporates the following bug fixes and mitigations:
* Fixed Stack buffer overflow in CMS AuthEnvelopedData parsing.
(CVE-2025-15467)
* Fixed Heap out-of-bounds write in BIO_f_linebuffer on short writes.
(CVE-2025-68160)
* Fixed Unauthenticated/unencrypted trailing bytes with low-level OCB
function calls. (CVE-2025-69418)
* Fixed Out of bounds write in PKCS12_get_friendlyname() UTF-8
conversion. (CVE-2025-69419)
* Fixed Missing ASN1_TYPE validation in TS_RESP_verify_response()
function. (CVE-2025-69420)
* Fixed NULL Pointer Dereference in PKCS12_item_decrypt_d2i_ex()
function. (CVE-2025-69421)
* Fixed Missing ASN1_TYPE validation in PKCS#12 parsing.
(CVE-2026-22795)
* Fixed ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes()
function. (CVE-2026-22796)
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/21831
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 9237dea49e8f868b6c0408973c05e1acc4df4296)
Include XHCI USB drivers on the Cudy WR3000P v1 router, the drivers are
required to be able to use the USB port for USD devices.
Closes: https://github.com/openwrt/openwrt/issues/21231
Fixes: 04e9d154f209 ("mediatek: filogic: add support for Cudy WR3000P v1")
Signed-off-by: Dmitry Mostovoy <dmitry.mostovoy@ceifx.com>
Link: https://github.com/openwrt/openwrt/pull/21281
(cherry picked from commit 9da57e2f828bc4a589b9a94e4cdf1b6ccdeb110e)
Link: https://github.com/openwrt/openwrt/pull/21405
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 8843108ff0fffb2abdc87465c323c97c7821df05)
Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@a63456b
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
This is the same fix as applied in 363e07d and 71b5de6.
This commit is not part of the main branch, as the main branch has
already bumped past 2025.01, removing the need for this patch.
uboot-rockchip had the patch removed as part of 92814fe, which was the
bump to 2025.01.
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 94a54a1e03dd8ae03c7626f15939350fe2f2cf0c)
Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@a63456b
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
This is the same fix as applied in 363e07d.
Fixes: #20619
Link: #20620
Signed-off-by: Trix Taiclet <trix@c3l.lu>
Link: https://github.com/openwrt/openwrt/pull/20620
(cherry picked from commit 71b5de61aecf49ca1522b3f549631417c67e73d0)
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4327b82a7b4fd39f540169a20a364f572abfc35c)
Fixes the following error by backporting upstream update:
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
This is the same fix as applied in 4e68103c4eb9 ("uboot-rockchip: fix build with swig 4.3.0")
Link: https://github.com/openwrt/openwrt/pull/20538
(cherry picked from commit 363e07dfa2ec39756dad3ef9c955bc83b9e920c9)
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 23180fbfaad6e202f2745e811175ec1625ea17d9)
The gmac definition has an offset of 1 at the moment. This leads to an
off by one error in downstream projects that rely on the package label mac.
Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
Link: https://github.com/openwrt/openwrt/pull/21543
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/21561
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 49862b1cf56e72a12d7dfad1b34f2e34bae44b2d)