Commit Graph

14935 Commits

Author SHA1 Message Date
Island
ea7b487807 Merge branch 'bugfix/AuthValue_leak_v4.2' into 'release/v4.2'
ble_mesh: stack: Fix AuthValue Leak and Predictable AuthValue in Bluetooth... (v4.2)

See merge request espressif/esp-idf!14023
2021-06-21 03:08:53 +00:00
Ivan Grokhotkov
0adf0f85dd gdbstub: fix thread list generation
This commit fixes an issue with gdbstub, where it would list threads
with TIDs 1 to N in qfThreadInfo/qsThreadInfo responses, and then
would tell GDB that the current TID is 0 in the qC response. This
caused an assertion failure in GDB, because it couldn't find the
thread structure corresponding to TID 0:

src/gdb/gdb/thread.c:93: internal-error: thread_info* inferior_thread(): Assertion `tp' failed.

The issue was caused by the logic of qfThreadInfo/qsThreadInfo.
If the "paniced" task index was 1, the code would report it in the
response to qfThreadInfo, and then mistakenly skip task with index 0
in qsThreadInfo, due to the use of pre-increment instead of a
post-increment.

With that issue fixed, GDB assertion doesn't happen anymore. However
the code contained a deeper problem, which manifested itself in the
fact that GDB would incorrectly show task index 0 as the current task,
after the above fix.

Previous version of the code assumed that when GDB requests the thread
list, it uses the first thread returned by the target as the "default"
thread, and subsequently shows the user that the program is stopped
in that thread. This assumption was incorrect. In fact, after
connecting to a remote target, GDB obtains information about the
"default" or "current" thread from two sources:
1. the 'thread' special register indicated in the status response
   ($T00thread;00000001#ee)
2. if the target has only sent the plain stop response ($T00#ee), GDB
   would ask for the current thread using a qC packet.
With that in mind, it is not necessary to report the paniced task as
the first task in qfThreadInfo response. We can simply returns the
tasks in their natural order, and then indicate the current task in
the qS packet response.

However even that change does not fully resolve the issues with task
list. The previous version of this code also incorrectly interpreted
the meaning of GDB TIDs -1 and 0. When GDB sends an "Hg0" command
early in the connection process, it doesn't expect the server to set
task 0 as the current task, as the code assumed. Rather, it tells the
server to "set any (arbitrary) task as the current one", and the most
logical thing to do for the server that is already in "stopped" state
is to keep the current task selection.

Since TID 0 has a special meaning in GDB remote protocol, gdbstub code
is now modified to map task indices (which start from 0) to GDB TIDs.
GDB TIDs are arbitrary, and for simplicity we keep the same order and
start counting them from 1.

The summary of all the above changes is:

1. Use "task index + 1" as the TID reported to GDB
2. Report the tasks in natural order; don't complicate the code to
   make the paniced task first in the list.
3. Centralize modification of 'current_task_index' and 'regfile'
   in the new 'set_active_task' function, to improve encapsulation.
2021-06-18 16:02:10 +02:00
Ivan Grokhotkov
55f233b945 docs: describe power management logic for ESP32-S2, fix translation 2021-06-18 15:40:35 +02:00
Ivan Grokhotkov
19121e2f6f cmake: set IDF_VERSION_* variables at requirement expansion stage
Currently IDF_VERSION_* variables are not available to the component
CMakeLists.txt files at the requirements expansion stage. This makes
it harder to write component CMakeLists files compatible with
different IDF versions.

Include version.cmake from the requirements expansion script, add a
build system test.
2021-06-18 15:27:33 +02:00
Ivan Grokhotkov
2a81167470 tests: gdb_loadable_elf: adjust the breakpoint location for ESP32 ECO3
The previous location was the return from the first ets_printf call
that prints ROM sign-on message. Since the main function was patched
in ECO3, the new address no longer works — there is no instruction at
0x40007901 in ECO3 ROM. This could be solved by setting two
breakpoints (one would work for ECO <=2, the other for ECO3), but we
would need to remove the unused breakpoint later.
Fix this by setting the breakpoint at ets_printf. This means that when
debugging a loadable ELF the ROM sign-on message will no longer be
shown, but this doesn't seem to be an issue.
2021-06-18 15:09:47 +02:00
Krzysztof Budzynski
d7acee288d Merge branch 'feature/link_idf_common_docs_v4.2' into 'release/v4.2'
docs: Linking to a page to help navigate to documentation for specific ESP32-x chip (v4.2)

See merge request espressif/esp-idf!13843
2021-06-18 10:06:12 +00:00
Aditya Patwardhan
1cdf60c914 libsodium: Update library to v1.0.18 2021-06-18 16:40:15 +08:00
Angus Gratton
681e71cb10 Merge branch 'bugfix/elf_sha256_first_byte_skip_v4.2' into 'release/v4.2'
app_update: fix incorrect first byte from esp_ota_get_app_elf_sha256 (v4.2)

See merge request espressif/esp-idf!13663
2021-06-18 08:00:18 +00:00
wangjialiang
3212d62b2b ble_mesh: stack: Fix AuthValue Leak and Predictable AuthValue in Bluetooth Mesh Provisioning Leads to MITM 2021-06-18 14:21:02 +08:00
Island
7166428ac0 Merge branch 'bugfix/impersonation_attacks_and_AuthValue_disclosure_v4.2' into 'release/v4.2'
ble_mesh: stack: Add check the value of Provisioning Random & Confirmation... (v4.2)

See merge request espressif/esp-idf!13923
2021-06-18 06:11:46 +00:00
He Yin Ling
333b9d7873 Merge branch 'bugfix/example_test_socket_issue_4.2' into 'release/v4.2'
CI: example test socket issue (4.2)

See merge request espressif/esp-idf!13905
2021-06-18 06:04:42 +00:00
Krzysztof Budzynski
b0a51f30bb Merge branch 'docs/add_esp32-s2-devkitm-1_user_guide_backport' into 'release/v4.2'
Add ESP32-S2-DevKitM-1 User Guide (backport master)

See merge request espressif/esp-idf!13860
2021-06-18 06:01:03 +00:00
Krzysztof Budzynski
dd27b49891 Merge branch 'doc/nvs_get_used_entry_count__clarify_4.2' into 'release/v4.2'
[doc]: NVS documentation updates (backport 4.2)

See merge request espressif/esp-idf!13824
2021-06-18 05:59:08 +00:00
Angus Gratton
9b48e5a024 Merge branch 'bugfix/ci_ble_wifi_example_test_v4.2' into 'release/v4.2'
Fix for ble and wifi example test (v4.2)

See merge request espressif/esp-idf!13803
2021-06-18 05:39:38 +00:00
Angus Gratton
cd8173bc13 pthread: Fix possible deadlock when using pthread_join() and Debug log level
Possible for a joined task to be deleted at the moment it is logging,
meaning it might hold the stdout lock. In that case the lock isn't
released and the next task to try and take it (i.e. call printf)
will block indefinitely.
2021-06-18 13:37:31 +08:00
Angus Gratton
a637d6f3d7 Merge branch 'ci/unify_all_target_test_artifacts_paths_v4.2' into 'release/v4.2'
ci: unify target test artifacts to all .log file and $LOG_PATH (v4.2)

See merge request espressif/esp-idf!13849
2021-06-18 05:37:30 +00:00
Angus Gratton
2d72e916ac Merge branch 'update/version_4_2_2' into 'release/v4.2'
Update version to 4.2.2

See merge request espressif/esp-idf!13984
2021-06-18 05:23:04 +00:00
Itay Perl
881909ecda app_update: fix incorrect first byte from esp_ota_get_app_elf_sha256
At -O2 optimization level, GCC seems to optimize out the copying of the
first byte of the checksum, assuming it is zero. This "miscompilation"
happens because the esp_app_desc struct is declared const, but then modified
post-compilation. Casting to volatile disables the optimization.

Closes: https://github.com/espressif/esp-idf/pull/6389
2021-06-17 17:32:31 +08:00
morris
813931720e i2s: fix driver uninstall issue 2021-06-17 14:18:21 +08:00
Renz Bagaporo
eed6eed909 components: fix ldgen check errors 2021-06-17 12:36:34 +10:00
laokaiyao
9a14cf083f driver/timer: only re-enable alarm in callback when auto reload is true
closes https://github.com/espressif/esp-idf/issues/7001
2021-06-17 10:30:44 +08:00
Renz Bagaporo
ea7d9c6368 ci: exempt upstream libmbedtls mapping for sha256 2021-06-17 12:21:53 +10:00
Renz Bagaporo
711048bce0 ldgen: fix sections info parsing
Fixes an issure where the first part of an object file name is not
included, due to matching the rule for a section entry previously.

Reduce depedency on matching literal strings in sections which might
change depending on toolchain (ex. matching 'elf32-xtensa-le')

Make sure parsing rule succeeds for the entirety of the sections info
string by adding 'parseAll=True'.

Add test for sections info parsing.
2021-06-17 12:21:53 +10:00
Renz Bagaporo
2c1c4999f5 ci: enabled ldgen mapping check in ci 2021-06-17 12:20:58 +10:00
Renz Bagaporo
5aa09271d8 ldgen: allow checking mappings 2021-06-17 12:18:02 +10:00
wangjialiang
34bfff424a ble_mesh: stack: Add check the value of Provisioning Random & Confirmation sent and received by provisioner 2021-06-16 21:29:02 +08:00
He Yin Ling
7ab8f793ca versions: Update version to 4.2.2 2021-06-16 14:49:39 +08:00
Yang Zhao
24578ac17b bugfix:Set address resolution enable. If not set enable and the filter
policy is 2 or 3, the controller will reply with invalid param error.
2021-06-15 16:14:23 +08:00
Wang Fang
1bb087d6af docs: Correct uart default pin names and provid more information about ESP-Prog board 2021-06-15 15:37:05 +08:00
Cao Sen Miao
8c16b4bcb3 spi_flash: fix cs line setup to make the flash driver more stable 2021-06-15 15:24:35 +08:00
Jiang Jiang Jian
1e36383909 Merge branch 'bugfix/handling_public_action_frame_v4.2' into 'release/v4.2'
esp_wifi: Fix SoftAP crash by handling public action frames.

See merge request espressif/esp-idf!13927
2021-06-11 05:19:05 +00:00
aditi_lonkar
1e8fca74f2 esp_wifi: Fix SoftAP crash by adding NULL check for handling publc action frames.
Closes https://github.com/espressif/esp-idf/issues/7109
2021-06-10 18:47:27 +05:30
Jiang Jiang Jian
32c63fca90 Merge branch 'bugfix/fix_pmf_ba_issue_v4.2' into 'release/v4.2'
fix pmf ba issue ( v4.2)

See merge request espressif/esp-idf!13901
2021-06-10 12:20:49 +00:00
Angus Gratton
f23c9d94ae bootloader: Fix selection of Quad I/O modes on ESP32-U4WDH chip
Closes https://github.com/espressif/esp-idf/issues/6191
2021-06-09 05:10:21 +00:00
Island
4921446d3d Merge branch 'bugfix/btdm_enable_gattc_cache_will_crash_v4.2' into 'release/v4.2'
component/bt: fix enable gattc nvs cache lead to crash

See merge request espressif/esp-idf!13889
2021-06-09 03:46:27 +00:00
Chen Yudong
443c9ff276 test: fix socket issue in iperf example test 2021-06-08 17:11:38 +08:00
He Yin Ling
06c7cde836 test: fix iperf example errors:
1. fix TypeError when running with python3
2. fix throughput chart x/y axis label error
3. make test case compatibile with iperf bin on earlier release branches
2021-06-08 17:08:29 +08:00
Chen Yudong
c26317ac90 CI: fix connection failures in asio example tests 2021-06-08 17:05:04 +08:00
He Yin Ling
96a00e59f4 example: set PMF capable to connect to PMF required APs 2021-06-08 16:07:09 +08:00
chenjianxing
36c2ef2828 esp_wifi: fix Block Ack issue when pmf enable 2021-06-08 16:06:24 +08:00
xiewenxiang
8491705b63 component/bt: fix enable gattc nvs cache lead to crash 2021-06-07 17:34:47 +08:00
Island
2c5f35fa8a Merge branch 'bugfix/bt_impersonation_passkey_fix_v4.2' into 'release/v4.2'
Bluedroid: Check only x component of passkey to avoid passkey impersonation attack. (v4.2)

See merge request espressif/esp-idf!13759
2021-06-07 07:24:00 +00:00
Ivan Grokhotkov
e632f2b366 Merge branch 'feature/IDF-2612_human_readable_error_v4.2' into 'release/v4.2'
export.bat/install.bat: print human-readable error message if Git or Python are not in PATH (v4.2)

See merge request espressif/esp-idf!13227
2021-06-07 06:08:15 +00:00
Ivan Grokhotkov
72f4f9542c Merge branch 'feature/installed_tool_failed_v4.2' into 'release/v4.2'
tools: Warning about tool being installed but failed to run. (v4.2)

See merge request espressif/esp-idf!13231
2021-06-07 06:07:54 +00:00
Ivan Grokhotkov
cbe42f1132 Merge branch 'bugfix/gdbgui_v4.2' into 'release/v4.2'
tools: Add various fixes for idf.py gdbgui (v4.2)

See merge request espressif/esp-idf!13417
2021-06-07 06:07:13 +00:00
Ivan Grokhotkov
8aa7eaa646 Merge branch 'bugfix/idfpy_global_action_callbacks_order_v4.2' into 'release/v4.2'
idf.py: Run global_action_callbacks in predictable order (v4.2)

See merge request espressif/esp-idf!13682
2021-06-07 06:06:54 +00:00
Ivan Grokhotkov
d21e948381 Merge branch 'feature/idf_tools_github_mirror_v4.2' into 'release/v4.2'
Add GitHub mirror option for IDF tools installs (v4.2)

See merge request espressif/esp-idf!13765
2021-06-07 06:06:31 +00:00
Ivan Grokhotkov
b50a8e0878 Merge branch 'bugfix/dfu_split_large_bins_v4.2' into 'release/v4.2'
tools: Split up large binaries into smaller chunks in the DFU binary (v4.2)

See merge request espressif/esp-idf!13794
2021-06-07 06:05:46 +00:00
Wang Ning
a5ffdaa962 Add ESP32-S2-DevKitM-1 User Guide
Update 1 based on comments

Fix typo

Add annotation to UFL connector

Add UFL connector to description table
2021-06-04 11:01:29 +08:00
Fu Hanxi
95f4bba736 ci: unify target test artifacts to all .log file and $LOG_PATH 2021-06-03 17:34:03 +08:00