Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V2.7 branch #82458

Closed
wants to merge 652 commits into from
Closed

V2.7 branch #82458

wants to merge 652 commits into from

Conversation

cfriedt
Copy link
Member

@cfriedt cfriedt commented Dec 3, 2024

No description provided.

Tomasz Bursztyka and others added 30 commits April 13, 2022 14:38
Reason why the prority was at its lowest is unknown, but now that it may
be used to send local packets (which used to be sent right away),
it seems to affect TCP scheduling in loopback mode. Raising the prority
so it matches how it was previously (i.e. sent right away) should fix
things. (Note however that this issue was not broadly present, only
sockets.tls test seemed to be affected.)

Signed-off-by: Tomasz Bursztyka <[email protected]>
In the Armv8R AArch64 profile[1], the Armv8R AArch64 is always in secure
mode. But the FVP_BaseR_AEMv8R before version 11.16.16 doesn't strictly
follow this rule. It still has some non-secure registers
(e.g. CNTHP_CTL_EL2).

Since version 11.16.16, the FVP_BaseR_AEMv8R has fixed this issue. The
CNTHP_XXX_EL2 registers have been changed to CNTHPS_XXX_EL2. So the
FVP_BaseR_AEMv8R (version >= 11.16.16) cannot boot Zephyr. This patch
will fix it.

[1] https://developer.arm.com/documentation/ddi0600/latest/

Signed-off-by: Jaxson Han <[email protected]>
Change-Id: If986f34dc080ae7a8b226bba589b6fe616a4260b
(cherry picked from commit fd231e3)
After the fix of FVP_BaseR_AEMv8R booting issue, the minimum required
version of FVP will be 11.16.16. Add an FVP minimal required version
check in building time.

When the ARMFVP_MIN_VERSION is set in board cmake file, the version
check will be enabled and print a warning.

Signed-off-by: Jaxson Han <[email protected]>
Change-Id: Ibbade0c328b5e91b8830fb35cba6917f08aabbda
(cherry picked from commit 3c1f319)
The current minimum required version of "Armv8-R AEM FVP" is 11.16.16.

Signed-off-by: Jaxson Han <[email protected]>
Change-Id: Iaaf1ec7fd432753371b58d13fdd29b1278f6c997
(cherry picked from commit 3875a1e)
Increase CONFIG_MAX_THREAD_BYTES to 3 to fix the build issue on
tests/drivers/build_all/modem/ test case.

Signed-off-by: Jaxson Han <[email protected]>
Change-Id: I6a26955bdd7e8b176894fa8246aec63a3a3db05f
(cherry picked from commit a483828)
Virtual MSD J-Link support on some development boards has caused an
issue with SMP due to limiting the maximum size of UART data via the CDC
endpoint, add a link to the SMP documentation and smp_svr sample
application on how to disable MSD functionality and resolve the issue.

Signed-off-by: Jamie McCrae <[email protected]>
Bump version to 2.7.2-rc1

Signed-off-by: Christopher Friedt <[email protected]>
When "eager FPU sharing" mode is enabled, FPU registers must be
initialised at the time of thread creation because the floating-point
context is always active and no further FPU initialisation is performed
later.

Note that, in case of the "lazy FPU sharing" mode, floating-point
context is inactive by default and the FPU is initialised when the
first floating-point instruction is executed.

Refer to the issue zephyrproject-rtos#44902 for more details.

Signed-off-by: Stephanos Ioannidis <[email protected]>
(cherry picked from commit f9a3f02)
Update 2.7.1 release notes with information about CVE fixed.

Signed-off-by: Flavio Ceolin <[email protected]>
Set version to 2.7.2

Signed-off-by: Christopher Friedt <[email protected]>
Add support for missing EHL SKUs. The information about SKUs is
already public and available in Linux kernel:
https://github.com/torvalds/linux/blob/
38f80f42147ff658aff218edb0a88c37e58bf44f/drivers/edac/
igen6_edac.c#L197-L208

Signed-off-by: Andrei Emeltchenko <[email protected]>
(cherry picked from commit f6069aa)
sw_switch implementation uses two parallel groups of
PPIs connecting radio and timer tasks and events.
The groups are used interchaneably, one is set for
following radio TX/RX event while the other is in use
(enabled).

The group should be disabled by timer compare event that
starts Radio to TX/RX a PDU. The timer is responsible for
maintenance of TIFS/TMAFS. The disabled group collects
all PPIs required to maintain the TIFS/TMASF. After
the time is reached Radio is started and the group is
disabled. It will be enabled again by software radio
swich during next call.

If the group is not disabled then it will work in parallel
to other one. That causes issues in correct maintenance of
instant when radio shoudl be started for next TX/RX  event
e.g. radio may be enabled to early.

In case the PHY CODED was enabled and periodic advertising
included chained PDUs, that are transmitted back-to-back,
there was missing group delay disable. The missing case was
sw_switch function called with dir_curr and dir_next set
to SW_SWITCH_TX.

Signed-off-by: Piotr Pryga <[email protected]>
Adjust get_mem_region to not return region when address == end
as there will be nothing to read there. Also, a subsequent region
may have that address as a start address and would be a more appropriate
selection.

Signed-off-by: Mark Holden <[email protected]>
(cherry picked from commit d04ab82)
ATT_READ_BY_TYPE_RSP returns Attribute Data List so handle it in the
application.

This affects GATT/CL/GAR/BV-03-C.

Signed-off-by: Michał Narajowski <[email protected]>
(cherry picked from commit 54cd46a)
If CONFIG_SHELL_STATS is disabled, shell->stats is NULL and
must not be dereferenced. Guard against it.

Fixes zephyrproject-rtos#44089

Signed-off-by: Alexej Rempel <[email protected]>
(cherry picked from commit 476d199)
* add backported bugfixes
* add backported fix for CVE-2021-3966

Signed-off-by: Christopher Friedt <[email protected]>
Make sure that all access to the msg_sram
is 32 bit aligned.

Signed-off-by: Alexander Wachter <[email protected]>
There is potential buffer overflow in pb adv.
If Transaction Continuation PDU comes before
Transaction Start PDU the last segment number is set to 0xff.
The current implementation has a strictly limited buffer size.
It is possible to receive malformed frame with wrong segment
number. All segments with number 2 and above will be stored
in the memory behind Rx buffer.

Signed-off-by: Aleksandr Khromykh <[email protected]>
(cherry picked from commit 6896075)
When receiving Transaction Start PDU, assure that number of segments
needed to send a Provisioning PDU with TotalLength size is equal to SegN
value provided in the Transaction Start PDU.

Signed-off-by: Pavel Vasilyev <[email protected]>
(cherry picked from commit a63c515)
Previous check in the if-statement would never allow to send last
segment if msg->len + 2 == MTU * x.

Signed-off-by: Pavel Vasilyev <[email protected]>
(cherry picked from commit 1efce43)
This commit fixes an infinite recusion in the
`z_vrfy_i2c_slave_driver_unregister` function.

Signed-off-by: Stephanos Ioannidis <[email protected]>
(cherry picked from commit 745b7d2)
When using DMA to transfer over the spi, the spi_stm32_cs_control
is done after enabling the SPI. The same sequence applies
in the transceive_dma function as in transceive function

Signed-off-by: Francois Ramu <[email protected]>
Fix PHY update procedure to handle unsupported PHY requested
by peer central device. PHY update complete will not be
generated to Host, connection is maintained on the old
PHY and the Controller will not respond to PDUs received on
the unsupported PHY.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
(cherry picked from commit 620a552)
This reverts commit 820d327.

Commit b973cdc updated the minimum
required Zephyr SDK version to 0.13.

Therefore revert commit 820d327 as
backward support for 0.11.1 and 0.11.2 is no longer required.

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit e747fe7)
With the revert of commit 820d327 then
some additional code can be cleaned up.

This removes the final left-overs from Zephyr SDK 0.11.1 support and
older.

It further aligns message printing when including Zephyr SDK toolchain
to other toolchain message printing.

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit fb3a113)
Remove xtensa specific workaround as this code is now present in Zephyr
SDK cmake code.

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit 92a1ca6)
In the Zephyr implementation, `sem_timedwait()` uses a
potentially wildly different timebase for comparison via
`k_uptime_get()` (uptime in ms).

The standard specifies `CLOCK_REALTIME`. However, the real-time
clock can be modified to an arbitrary value via clock_settime()
and there is no guarantee that it will always reflect uptime.

This change ensures that `sem_timedwait()` uses a more
consistent timebase for comparison.

Fixes zephyrproject-rtos#46807

Signed-off-by: Christopher Friedt <[email protected]>
(cherry picked from commit 9d433c8)
This commit changes the invocation of the minimal libc malloc
initialisation function such that it is executed during the POST_KERNEL
phase instead of the APPLICATION phase.

This is necessary in order to ensure that the application
initialisation functions (i.e. the functions called during the
APPLICATIION phase) can make use of the libc heap.

Signed-off-by: Stephanos Ioannidis <[email protected]>
(cherry picked from commit db0748c)
This commit changes the invocation of the newlib malloc heap
initialisation function such that it is executed during the POST_KERNEL
phase instead of the APPLICATION phase.

This is necessary in order to ensure that the application
initialisation functions (i.e. the functions called during the
APPLICATIION phase) can make use of the libc heap.

Signed-off-by: Stephanos Ioannidis <[email protected]>
(cherry picked from commit 43e1c28)
This commit adds a test to verify that the C++ static global object
constructors are invoked called during the system initialisation.

Signed-off-by: Stephanos Ioannidis <[email protected]>
(cherry picked from commit 6e0063a)
Crzyrndm and others added 22 commits November 16, 2023 20:31
The spi_nor erase op selection was based on the alignment of the end of
the region to be erased. This prevented larger erase operations being
selected in many cases

Closes zephyrproject-rtos#60904

Signed-off-by: Joshua Crawford <[email protected]>
(cherry picked from commit ea2dd9f)
the sam xdmac driver does not yet implement the
get_status() function. with this commit the function
will be implemented. Fixes zephyrproject-rtos#62003

Signed-off-by: Sven Ginka <[email protected]>
(cherry picked from commit bc695c6)
Fixes an issue whereby a board revision is 0 and the overlay file
exists but would not be included

Signed-off-by: Jamie McCrae <[email protected]>
Move extra warning option from generic twister script into
compiler-dependent config files.
ARCMWDT compiler doesn't support extra warning options ex.
"-Wl,--fatal-warnings". To avoid build fails flag
"disable_warnings_as_errors" should be passed to twister.
This allows all warning messages and make atomatic test useles.

Signed-off-by: Nikolay Agishev <[email protected]>
(cherry picked from commit 0dec4cf)
GCC_VERSION is defined in a few modules, and those headers are often
included first, so replace the one used in zephyr with
TOOLCHAIN_GCC_VERSION. Do the same with CLANG_VERSION, replacing it with
TOOLCHAIN_CLANG_VERSION.

BUILD_ASSERT is also defined in include/toolchain/common.h, which might
get included before gcc.h. We want to use the gcc-specific one instead
of the general one.

Signed-off-by: Keith Packard <[email protected]>
(cherry picked from commit c58c76e)
If we receive a packet from non localhost interface, then
drop it if either source or destination address is a localhost
address.

Signed-off-by: Jukka Rissanen <[email protected]>
(cherry picked from commit 6d41e68)
If we receive a packet where the source address is our own
address, then we should drop it.

Signed-off-by: Jukka Rissanen <[email protected]>
(cherry picked from commit 19392a6)
Drop received packet if the source address is the same as
the device address.

Signed-off-by: Jukka Rissanen <[email protected]>
(cherry picked from commit 8d3d48e)
We would drop the received packet if the source address is our
address so tweak the test and make source address different.

Signed-off-by: Jukka Rissanen <[email protected]>
(cherry picked from commit 155e214)
The controller can implement a reception FIFO as deep as 256 bytes.
However, the computation made by the driver code to determine how many
bytes can be asked is stored in a signed 8-bit variable called rx_empty.

If the reception FIFO depth is greater or equal to 128 bytes and the FIFO
is currently empty, the rx_empty value will be 128 (or more), which
stands for a negative value as the variable is signed.

Thus, the later code checking if the FIFO is full will run while it should
not and exit from the i2c_dw_data_ask() function too early.

This hangs the controller in an infinite loop of interrupt storm because
the interrupt flags are never cleared.

Storing the rx_empty empty on a signed 32-bit variable instead of a 8-bit
one solves the issue and is compliant with the controller hardware
specifications of a maximum FIFO depth of 256 bytes.

It has been agreed with upstream maintainers to change the type of the
variables tx_empty, rx_empty, cnt, rx_buffer_depth and tx_buffer_depth to
plain int because it is most effectively handled by the CPUs. Using 8-bit
or 16-bit variables had no meaning here.

Signed-off-by: Adrien Ricciardi <[email protected]>
(cherry picked from commit 4824e40)
call k_thread_foreach_unlocked to avoid assertions caused
by calling shell_print while holding a global lock

Signed-off-by: Maxim Adelman <[email protected]>
(cherry picked from commit ecf2cb5)
Always use k_thread_foreach_unlocked with callbacks which print
something out to the shell, as they might call arch_irq_unlock.
Fixes zephyrproject-rtos#66660.

Signed-off-by: Benedikt Schmidt <[email protected]>
(cherry picked from commit 4c731f2)
Checks path's size before copying it to local variable.

Signed-off-by: Flavio Ceolin <[email protected]>
(cherry picked from commit 3267bdc)
The Z_DETECT_POINTER_OVERFLOW() macro is intended detect whether
or not a buffer spans a region of memory that goes beyond the
highest possible address (thereby overflowing the pointer).

Signed-off-by: Peter Mitsis <[email protected]>
This macros needed additional checks before invoking
arch_buffer_validate.

- size can not be less then 0. Some functions invoke this macro
  using signed type which will be promote to unsigned when invoking
  arch_buffer_validate. We need to do an early check.
- We need to check for possible overflow, since a malicious user
  application could use a negative number that would be promoted
  to a big value that would cause a integer overflow when adding it
  to the buffer address, leading to invalid checks.

Signed-off-by: Flavio Ceolin <[email protected]>
Since K_SYSCALL_MEMORY can be called with signed/unsigned size types, if
we check if size >= 0, static anlysis will complain about it when
size in unsigned.

Signed-off-by: Flavio Ceolin <[email protected]>
Sphinx 4.x is way past EOL and due to it not pinning its dependencies,
it's effectively broken. See
sphinx-doc/sphinx#11890 The recommended fix,
although not ideal in the context of an LTS branch, is to update to
Sphinx 5.0.2, which should have minimal impact of how the rendered
documentation looks.

Signed-off-by: Benjamin Cabé <[email protected]>
List bugfixes and CVEs in v2.7.6 release notes.

Signed-off-by: Christopher Friedt <[email protected]>
Set version to 2.7.6

Signed-off-by: Christopher Friedt <[email protected]>
remove hb_context.status_buffer_size and replace it with
sizeof(hb_context.status_buffer), because hb_context.status_buffer_size
is never set.

Signed-off-by: Fin Maaß <[email protected]>
(cherry picked from commit 1bea938)
Use the correct buffer size when calling memset().

Fixes: zephyrproject-rtos#73093

Signed-off-by: Henrik Brix Andersen <[email protected]>
(cherry picked from commit 59402fd)
For quite some time, clang-build (native_posix) jobs have failed
in CI on v2.7-branch.

Disable the workflow temporarily so that CI can pass again.

Signed-off-by: Chris Friedt <[email protected]>
@cfriedt cfriedt closed this Dec 3, 2024
@zephyrbot
Copy link
Collaborator

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
edtt zephyrproject-rtos/edtt@7dd56fc zephyrproject-rtos/edtt@31badfb zephyrproject-rtos/[email protected]
mbedtls zephyrproject-rtos/mbedtls@5765cb7 zephyrproject-rtos/mbedtls@066cfe1 (lts/2.28) zephyrproject-rtos/[email protected]
mcumgr zephyrproject-rtos/mcumgr@31a2aa9 zephyrproject-rtos/mcumgr@480cb48 (v2.7-branch) zephyrproject-rtos/[email protected]
trusted-firmware-m ❌ zephyrproject-rtos/trusted-firmware-m@c74be38 N/A (Removed) N/A

DNM label due to: 1 removed project

Note: This message is automatically posted and updated by the Manifest GitHub Action.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.