Zephyr v2.7.2

Christopher Friedt

Hi Zephyr Community!

Zephyr v2.7.2 is out!


There have been a total of 142 backported fixes since v2.7.1 and 2 CVE
fixes to report.

All changes since v2.7.1 can be viewed on GitHub with the link below.

Thanks again to everyone involved!

Security Vulnerability Related

The following security vulnerabilities (CVEs) were addressed in this release:

* CVE-2021-3835
* CVE-2021-3861

More detailed information can be found in:


The following changes were added since the previous 2.7.1 tagged release:

Alexander Mihajlovic (2):
drivers: adc: stm32: Add function to enable ADC consistently
drivers: adc: stm32: Clear ADRDY before waiting

Alexandre Bourdiol (2):
boards: arm: stm32h7: select direct SMPS for both disco boards
boards: arm: stm32l562e_dk and nucleo_l552ze_q add openocd support

Andrea Campanella (1):
drivers: serial: stm32: Add Line Break Detection

Andrei Emeltchenko (2):
net: tcp: Remove redundant TCP option definitions
net: tcp: Remove unneeded declaration

Andrzej Głąbek (1):
drivers: spi_nrfx_spi: Fix compilation error

Binu Jacob (1):
libc: newlibc: Fix recursive gettimeofday() calls on non-Posix systems

Carlo Caione (2):
kernel: Reset the switch_handler only in the arch code
gen_relocate_app: Create files from scratch, do not append

Chen Peng1 (1):
cmake: save eh_frame section in output with CONFIG_EXCEPTIONS.

Chris Reed (1):
arm: cortex-m: initialise ptr_esf in get_esf() in fault.c.

Christopher Friedt (5):
doc: spinlock: ensure spinlock api is added to doxygen
pthread: cond: fix pthread_cond_wait always returning ETIMEDOUT
tests: pthread: cond: check return from pthread_cond_wait()
release: Bump release to 2.7.2-rc1
release: Zephyr 2.7.2

Daniel Nejezchleb (4):
net: tcp: Fixed forever loop in tcp_resend_data
net: tcp: Fix possible deadlock in tcp_conn_unref()
lib/os: fdtable: add locking to posix api
net: sockets: Fixes net_pkt leak in accept

Dominik Ermel (2):
mgmt/mcumgr: Correct packet length information
mgmt/mcumgr: Fix serial packet length not including CRC16

Emil Lindqvist (1):
logging: fix timestamp func overwrite on log2

Erwan Gouriou (4):
include/drivers/clock_control: stm32h7: Add missing symbol PLL SRC CSI
boards: h747/h745: Update dual core flash and debug instructions
scripts/pylib/twister: Add sn option to stm32cubeprogrgammer runner
boards: nucleo_wb55rg: Add stm32cubeprogrammer runner

Evgeniy Paltsev (1):
ARC: nSIM: fix missing core numbers for mdb-hw runner args

Fabio Baltieri (1):
boards: nucleo_h745zi_q: enable POWER_SUPPLY_DIRECT_SMPS

Flavio Ceolin (3):
pm: Remove unused fields in pm_device
test: pm: device: Fix build options
doc: release: Update release notes with CVE

Francois Ramu (3):
drivers: adc: driver setting the resolution for stm32wl
drivers: adc: driver setting the oversampling for stm32wl
dts: arm: stm32l0 LSI clock freq is 37kHz

Gennady Kovalev (1):
drivers: clock_control: More power supply modes for STM32H7

Georgij Cernysiov (1):
include: drivers: clock_control: stm32: fix xtpre

Gerard Marull-Paretas (7):
doc: extensions: doxyrunner: add doxyrunner_outdir_var option
doc: extensions: doxyrunner: do not modify extension config
doc: conf: specify which variable is used for output directory
ci: make git credentials non-persistent
ci: split Bluetooth workflow
doc: update requirements
doc: css: update code documentation directives style

Gerson Fernando Budke (1):
riscv: linker.ld: Fix undefined reference linker error

Guillaume Lager (2):
driver: modem: Fix mux device name comparison
drivers: console: gsm_mux: fix length indicator

Henrik Brix Andersen (1):
drivers: can: change can_tx_callback_t function signature

Jamie McCrae (3):
samples: subsys: mgmt: smp_svr: Fix dupicate fs mgmt registration
boards: bl654_usb: Fix non-mcuboot builds not limiting size
doc: Add link to J-Link virtual MSD disable for SMP

Jaxson Han (4):
arm64: Fix booting issue with FVP V8R >= 11.16.16
cmake: armfvp: Add FVP min version check
board: arm64: fvp_baser_aemv8r: Update the version requirement
board: arm64: fvp_baser_aemv8r_smp: Increase CONFIG_MAX_THREAD_BYTES

Jeremy Wood (1):
drivers: can: m_can: fix reconfiguring bitrate

Johann Fischer (4):
include: usb: add alignment attribute to macro USBD_CFG_DATA_DEFINE
drivers: ssd16xx: fix driver initialization
bluetooth: hci_raw: avoid possible memory overflow in bt_buf_get_tx()
usb: bluetooth: check buffer tailroom before copying

Jordan Yates (5):
lora: sx126x: don't re-enable interrupt in sleep
doc: generate Doxygen tag file
doc: guides: index: document Doxygen linking
spi: nrfx_spi*: only run uninit if configured
wifi: esp_at: claim net_context in rx

Jukka Rissanen (1):
net: tcp2: Send our MSS to peer

Julien D'ascenzio (3):
uart_stm32: Fix conflit between poll_out and irq API
drivers/uart: stm32: fix dead lock on poll_out
drivers/uart: stm32: don't call k_yield on poll_out

Keith Packard (1):
arm: Use correct macro for z_interrupt_stacks declaration in stack.h

Krzysztof Chruscinski (11):
logging: Fix tracking of active messages
logging: Fix tracking of buffered messages
lib: os: printk: Minor refactoring
logging: printk: Fix LOG_PRINTK for v2
logging: log_output: Fix immediate output for big endian
tests: logging: log_core_additional: Add panic handler for test backend
tests: logging: log_api: Add test for LOG_PRINTK
logging: Improve algorithm for waking up the thread
logging: Fix counting of buffered messages
net: ip: route: Fix log_strdup misuse
lib: os: mpsc_pbuf: Add const to mpsc_pbuf_free argument

Kweh Hock Leong (2):
net: shell: Fix parser error on net ping command
net: gptp: Fix type mismatch calculation error in gptp_mi

Manojkumar Subramaniam (3):
soc: arm: st_stm32: add kconfig entry for STM32 SMPS
drivers: clock_control: stm32h7: Add logic to handle SMPS config
soc: arm: st_stm32: use SMPS power supply only if enabled

Marius Scholtz (1):
modbus: serial: Fix incomplete transmission issue

Michael Schmidt (1):
drivers: virt_ivshmem: Allow multiple instances of ivShMem devices.

Michel Haber (1):
timing: use runtime cycles for cortex-m systick

NingX Zhao (1):
poll: modify the function z_vrfy_k_poll

Patric Karlström (1):
posix: Make clock_settime/gettime REALTIME thread-safe

Pete Dietl (1):
drivers: adc: stm32: Disable ADC before calibration

Piotr Pryga (1):
Bluetooth: controller: Add missing NULL assign to df_cfg in ll_adv_set

Rene Bredlau (1):
modem: hl7800: use correct timeouts on KTCPSND to avoid internal deadlock

Robert Lubos (13):
net: http_client: Set body_start pointer unconditionally
net: sockets: getaddrinfo: Fix possible crash when callback is delayed
net: sockets: Simplify common getsockname() implementation
net: route: Fix struct net_route_nexthop leak
net: route: Verify if neighbor entry is in use when iterating
net: sockets: Use struct timeval provided by libc
net: sockets: Report ZSOCK_POLLHUP when socket is in EOF state
net: sockets: tls: Fix ZSOCK_POLLHUP detection
net: arp: Fix ARP retransmission source address selection
net: mqtt: Fix SOCKS5 setsockopt error handling
net: sockets: Retry net_context_sendmsg if EAGAIN is reported
net: sockets: Fix userspace accept() verification
net: tcp: Verify accept callback before use

Ryan McClelland (1):
cmake: fix multiple shield parsing

Stephanos Ioannidis (1):
x86: Initialise FPU regs during thread creation for eager FPU sharing

Sylvio Alves (1):
soc: esp32: use PYTHON_EXECUTABLE from build system

Szymon Janc (9):
Bluetooth: L2CAP: Fix checking if LTK is present
tests/bluetooth/tester: Add support for rejecting connection parameters
tests/bluetooth/tester: Fix possible buffer overflow
tests/bluetooth/tester: Add support for multiple GATT subscriptions
test/bluetooth/tester: Don't clear auth requirements on L2CAP server
tests/bluetooth/tester: Allocate L2CAP channel only when needed
Bluetooth: Host: Validate security on GATT subscription
tests/bluetooth/tester: Enable security validation for GATT subsciption
tests/bluetooth/tester: Add support for auto connection establishment

Thomas Stranger (6):
drivers: flash: stm32: mv security-mode dependent defines to header
flash: stm32: fix g0 error flags and move ifdef-ery to header
drivers: flash: stm32: wait for CFGBSY & BSY2 in wait_flash_idle
drivers: flash: stm32g0: preparation for dual bank handling
drivers: flash: stm32g0: dual bank handling
tests: drivers: flash: change integration_platforms

Tomasz Bursztyka (12):
net/icmpv4: Fix logging messagse
net/icmpv4: Do not send error on a packet that was broadcasted
arch/x86: Have a dedicated place for CPUID related functions
arch/x86: Add a CPUID function to get initial APIC ID
arch/x86: Fix MSI MAP destination
net/tcp: Stop TCP state machine breaking when sending locally
net/context: Close TCP connection properly
tests/net: TLS test requires more RX PKT and buffers
tests/net: Switch k_msleep to k_yield for tcp packet scheduling
tests/net: Put the context down and not only the tcp part in tcp2 test
test/net: Make sure the tls server socket is accepting before connect
net/tcp: Use highest priority for TCP internal work queue

Vinayak Kariappa Chettimada (1):
Bluetooth: Controller: Fix Periodic Adv EVENT_OVERHEAD_START_US jitter

Yong Cong Sin (5):
drivers: watchdog: STM32G0X: clock DBGMCU before configuring
net: mgmt: Use mutex for net_mgmt_lock
kernel: workq: Fix type errors in delayable work handlers
driver: serial: uart_stm32: Calculate suitable PRESCALER value
subsys/mgmt/hawkbit: update http response handling