Commit graph

41120 commits

Author SHA1 Message Date
Ruslan Mstoi
3012157a94 net: ipv6: Ignore reachable time greater than maximum
This commit fixes the crash of echo server from unsolicited RA with
reachable time set to 2147483648. The crash was in
net_if_ipv6_calc_reachable_time because such large value resulted in
modulus by zero due to integer overflow.

Fixes #6382

Signed-off-by: Ruslan Mstoi <ruslan.mstoi@intel.com>
2018-03-02 07:34:12 +01:00
Andrei Emeltchenko
d91e9e5436 net: Exit early on zero length packet append
Shorten exit path on zero length data append to a packet.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2018-03-02 07:33:26 +01:00
445988cd82 slip: fix a bug when in non-TAP mode.
ll_reserve only exists when SLIP is compiled with TAP support.

Signed-off-by: Michael Hope <mlhx@google.com>
2018-03-02 07:28:07 +01:00
Sebastian Bøe
fc5f0b2400 openthread: Use ccache when enabled
Use ccache when building OpenThread. When the cache is warm, I was
able to observe that this patch sped up a clean build from 45 seconds
to 33 seconds.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-02 07:13:21 +01:00
Sebastian Bøe
87031e3cf9 cmake: Find out earlier whether ccache is to be used or not
Moving the ccache build script earlier in allows us to export ccache
to external projects. Using ccache with external projects, such as
OpenThread, can significantly speed up the build time.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-03-02 07:13:21 +01:00
Leandro Pereira
816c709ef2 net: sockets: Do not reference NULL pointer with empty frags on start
Assertions should only be used to check invariants.  Things that may
change value in runtime are better left to proper checks.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Leandro Pereira
6b3192a572 net: net_app: Close packet if couldn't skip TLS header
Assertions should only be used to check invariants.  Things that may
change value in runtime are better left to proper checks.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Leandro Pereira
a53f525830 net: route: Do not dereference NULL pointer while getting next hop
Assertions should only be used to check invariants.  Things that may
change value in runtime are better left to proper checks.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Leandro Pereira
5bdb1c2fe7 net: net_pkt: A net_context might have no interface
The code will attempt to dereference the pointer if built on release
mode.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Leandro Pereira
3cb979a42a net: ieee802154: net_udp_get_hdr() might return NULL
Assertions should only be used to check invariants.  Things that may
change value in runtime are better left to proper checks.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Leandro Pereira
561ad8e7c7 net: ipv6: net_icmpv6_get_ra_hdr() may return NULL
Assertions should only be used to check invariants.  Things that may
change value in runtime are better left to proper checks.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Leandro Pereira
7fdb0eedc5 net: ipv6: net_icmpv6_get_ns_hdr() may return NULL
Assertions should only be used to check invariants.  Things that may
change value in runtime are better left to proper checks.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Leandro Pereira
54c0742fd0 net: ipv6: Remove unused net_ipv6_get_nbr_by_index()
This doesn't appear to be used by anything in Zephyr.  Remove it,
as it doesn't perform correct bounds checking.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Leandro Pereira
a6a101811b net: ipv6: net_icmpv6_get_na_hdr() may return NULL
If net_icmpv6_get_na_hdr() returns NULL (which is possible with a
specially crafted packet), utility functions net_is_solicited(),
net_is_router(), and net_is_override() will attempt to read invalid
memory.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Leandro Pereira
6504b2850e net: ip: dhcpv4: Do not try to write to NULL pointer on failure
Assertions should only be used to check invariants.  Things that may
change value in runtime are better left to proper checks.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Leandro Pereira
7768796a4e net: 6lo: Do not try compressing IPHC header if not set
Assertions should only be used to check invariants.  Things that may
change value in runtime are better left to proper checks.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:11:46 +01:00
Alberto Escolar Piedras
19e3500f24 native: doc: command line related improvements
A few new additions in the documenation regarding the
command line options

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-03-02 07:10:39 +01:00
Ruslan Mstoi
f710fc9443 net: ipv6: Drop ICMPv6 NS if neighbor table is full
This commit fixes the crash of echo_server from NS flood.

Fixes #6393

Signed-off-by: Ruslan Mstoi <ruslan.mstoi@intel.com>
2018-03-02 07:09:50 +01:00
Leandro Pereira
08de658eb9 kernel: mem_domain: Use u8_t for number of partitions in struct
During system initialization, the global static variable (to
mem_domain.c) is initialized with the number of maximum partitions per
domain.  This variable is of u8_t type.

Assertions throughout the code will check ranges and test for overflow
by relying on implicit type conversion.

Use an u8_t instead of u32_t to avoid doubts.  Also, reorder the
k_mem_partition struct to remove the alignment hole created by reducing
sizeof(num_partitions).

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:08:49 +01:00
Leandro Pereira
db094b8d88 kernel: mem_domain: Check for overlapping regions when considering W^X
Multiple partitions can be added to a domain, and if they overlap, they
can have different attributes.  The previous check would only check for
W^X for individual partitions, and this is insufficient.  Overlapping
partitions could have W^X attributes, but in the end, a memory region
would be writable and executable.

The way this is performed is quite "heavyweight", as it is implemented
in a O(n^2) operation.  The number of partitions per domain is small on
most devices, so this isn't an issue.  CONFIG_EXECUTE_XOR_WRITE is
still an optional feature.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-03-02 07:08:49 +01:00
Andy Gross
3cbc5c5091 doc: release notes: Add security notes
This patch adds security specific items to the 1.11 release notes.

Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-03-02 07:08:28 +01:00
Youvedeep Singh
aa4f495bd7 kernel: POSIX: correcting default thread prio & policy in attr.
This patch does following:-
1. Default scheduling policy should be set to SCHED_RR only when
Preemptive is enabled.
2. Default priority in attr object should equivalent to
K_LOWEST_APPLICATION_THREAD_PRIO. Posix priority corresponding
to K_LOWEST_APPLICATION_THREAD_PRIO is 1.

Signed-off-by: Youvedeep Singh <youvedeep.singh@intel.com>
2018-03-01 14:48:20 -08:00
Alberto Escolar Piedras
cf07caa3c9 bluetooth: controller: last radio hal changes for simulation
All sideeffects for simulation are there now, including CCM part

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-02-28 19:56:16 +01:00
Kumar Gala
d2e89856cc cmake: dts: Fix usage of BOARD vs BOARD_FAMILY
We assumed that ${BOARD} and ${BOARD_FAMILY} are always the same and
thus interchangeable.  That isn't always the case so use ${BOARD} proper
for when we mean the exact BOARD name we are building for vs the
BOARD_FAMILY.

We also add .dts files for board variants within a board family, such
that we have a .dts matching each board name.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-27 19:56:47 -06:00
Ioannis Glaropoulos
571069e986 arch: arm: correct fault address logging
In ARMv7-M (and ARMv8-M) architecture it is
implementation defined whether separate MMFAR and BFAR are
implemented. This commit ensures that we always get the true
faulting address displayed in case of MemManage- or BusFault.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2018-02-27 09:38:43 -06:00
Kumar Gala
83fa6c9554 dts: arm: Refactor SoC dts.fixup into arch/arm/soc
Move common SoC dts.fixup defines into arch/arm/soc/<SOC>/dts.fixup so
we remove duplication in the boards and only have board specific
defines in boards/arm/<FOO>/dts.fixup.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-26 10:55:36 -06:00
Kumar Gala
dc6472f868 dts: x86/atom: Refactor SoC dts.fixup into arch/x86/soc/atom
Move common SoC dts.fixup defines into arch/x86/soc/atom/dts.fixup so we
remove duplication in the boards and only have board specific defines in
boards/x86/<FOO>/dts.fixup.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-26 10:55:36 -06:00
Kumar Gala
d08661119e dts: ia32: Refactor SoC dts.fixup into arch/x86/soc/ia32
Move common SoC dts.fixup defines into arch/x86/soc/ia32/dts.fixup so we
remove duplication in the boards and only have board specific defines in
boards/x86/<FOO>/dts.fixup.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-26 10:55:36 -06:00
Kumar Gala
7e32b1d11f dts: quark_se: Refactor SoC dts.fixup into arch/x86/soc/intel_quark/<SOC>
Move common SoC dts.fixup defines into
arch/x86/soc/intel_quark/quark_se/dts.fixup so we remove duplication in
the boards and only have board specific defines in
boards/x86/<FOO>/dts.fixup.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-26 10:55:36 -06:00
Kumar Gala
6becb64dfc dts: quark_se_c1000_ss: Refactor dts.fixup into arch/arc/soc
Move common SoC dts.fixup defines into
arch/arc/soc/quark_se_c1000_ss/dts.fixup so we remove duplication in the
boards and only have board specific defines in
boards/arc/<FOO>/dts.fixup.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-02-26 10:55:36 -06:00
Paul Sokolovsky
8e867378da samples: sockets: echo: Better error and short write handling
Initially this sample was intended to be very simple and schematic,
but as this sample going to become a base for stream API conversion,
time to handle all the edge conditions.

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-02-26 10:20:50 -06:00
Yannis Damigos
c0985fa0cd boards/arm/nucleo_l476rg: Fix usart1 node
Fix usart1 node in boards dts file

Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
2018-02-24 08:10:21 -06:00
Carles Cufi
80210198ad bluetooth: controller: nrf5: Add IC-specific reset function
In order to address anomalies 102, 106 and 107 in nRF52, add a generic
hal_radio_reset() that does additional processing when required by a
particular IC or IC family. Implement the fix for the nRF52.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2018-02-24 12:33:51 +01:00
Ioannis Glaropoulos
5343f8973d cmake: indicate single precision floating-point for Cortex-M33
ARM Cortex-M33 may implement an optional Floating Point Unit
(FPU) supporting single-precision arithmetic. This commit
modifies the respective GCC_M_CPU flag to comply with Cortex-M33.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2018-02-23 21:42:22 -06:00
Spoorthi K
b1ba49be7c tests: kernel: Verify the call to abort handler
The test sets a abort handler and checks if it is called
when the thread is aborted.

Signed-off-by: Spoorthi K <spoorthi.k@intel.com>
2018-02-23 13:45:51 -05:00
Vitor Massaru Iha
6f9823e4a6 samples: basic: fade_led: Update sample to work with ESP32
Update fade_led sample to work with ESP32.

Signed-off-by: Vitor Massaru Iha <vitor@massaru.org>
2018-02-23 13:13:12 -05:00
Vitor Massaru Iha
fbaddfb079 drivers: pwm: Add PWM LED driver for ESP32
This is a initial support for PWM LED controller on ESP32.

Signed-off-by: Vitor Massaru Iha <vitor@massaru.org>
2018-02-23 13:13:12 -05:00
Jukka Rissanen
d36028fa52 doc: Add networking information to 1.11 release note
Contains major networking changes between 1.10 and 1.11 releases.

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2018-02-23 16:24:42 +01:00
Holman Greenhand
400dc79326 timer: cortex_m: Fix the discontinuous readings of the cycle counter.
On a stm32, When we use the k_busy_wait function to wait a
delay (500us) just after an idle tickless period the delay could be
lower than the requested one. Consecutive readings of the cycle counter
made with the function k_cycle_get_32 juste after tickeless period
provides erroneous values (value jump) after some time (100 us).

To fix this issue we needs:

- Add the update of clock_accumulated_count value in the
_timer_idle_exit function.

- Treat the case in the get_elapsed_count function when the reload value
of the timer is set to a remaining value to wait until end of tick (see
_timer_idle_exit) . In this case the time elapsed until the systick
timer restart was not yet added to clock_accumulated_count. To retrieve
a correct cycle count we must therefore consider the number of cycle
since current tick period start and not only the cycle number since the
timer restart.

Fixes #6164

Signed-off-by: Holman Greenhand <greenhandholman@gmail.com>
2018-02-23 08:58:23 -06:00
Justin Watson
7170339293 codeowners: Add fallrisk as codeowner of SOC SAM4S
Also added fallrisk as codeowner of board sam4s_xplained.

Signed-off-by: Justin Watson <jwatson5@gmail.com>
2018-02-23 08:52:48 -06:00
Jonas Pfaff
f208a59c5e boards: arm: same70: Add mcuboot flash partitions to dts
Extend same70 dts with mcuboot compatible flash partitions

Signed-off-by: Jonas Pfaff <jonas.pfaff@gmail.com>
2018-02-23 08:52:48 -06:00
Alberto Escolar Piedras
d118b6470e samples: drivers/entropy fixes
* .yaml: added expression for test
* README: Eeach second 9 bytes are generated not 10

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-02-23 07:34:07 -05:00
Alberto Escolar Piedras
30ae79ae39 native: added entropy device
Added pseudorandom entropy device for the native_posix board

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-02-23 07:34:07 -05:00
Alberto Escolar Piedras
f004e0475e native: added more proper command line parameters parsing
Added a basic command line parameter parsing framework

Added the following options by now:
--stop-at=<time>: Auto-stop after <time> seconds
--seed=<seed>   : random seed for entropy device
--testargs      : any argument that follows is ignored in top level
                  and made available thru
                  native_get_test_cmd_line_args()

All command line parameters are still avaliable by calling
native_get_cmd_line_args(), but now you can also call
native_get_test_cmd_line_args() to get whatever was set after
--testargs

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2018-02-23 07:33:11 -05:00
Savinay Dharmappa
31a4e1ccf4 subsys: kernel_event_logger: change kernel event values
Each bit of "_sys_k_event_logger_mask" corresponds to a
kernel event type. Hence KERNEL_EVENT_TYPE values should be
power of 2. Previous implementation was not adhering
to it ,because of which "sys_k_must_log_event" and
"sys_k_event_logger_set_mask" had unintended effects when
used to mask certain kernel events.

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
2018-02-23 07:29:29 -05:00
Ruslan Mstoi
b7ef393bfe net: ipv6: Drop ICMPv6 packet if NA header is NULL
This commit fixes the crash of echo_server from malformed
ICMPv6 NA packet.

Fixes #6315

Signed-off-by: Ruslan Mstoi <ruslan.mstoi@intel.com>
2018-02-23 09:13:10 +02:00
Paul Sokolovsky
ec207f4250 net: app: Move mbedTLS debug log level config to mbedTLS Kconfig
mbedTLS log level is obviously a mbedTLS config setting. It makes
sense to have it defined in mbedTLS Kconfig, and different parts
of Zephyr to reuse as needed (e.g. net-app vs upcoming TLS wrapper
for sockets).

Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2018-02-22 18:44:55 -05:00
Ruslan Mstoi
ca94b86b3d drivers: console: Fix crash in shell
Shell crashes when enter is pressed. This commit reverts relevant
changes from 14735116d1 that cause
this issue.

Fixes #6322

Signed-off-by: Ruslan Mstoi <ruslan.mstoi@intel.com>
2018-02-22 15:29:08 -05:00
David B. Kinder
05e00f6e7f doc: remove use of sphinx autodoc extension
Looks like newer versions of Sphinx have a problem with the autodoc
extension.  Since we're not usine Sphinx to process python source for
documentation, removing use of autodoc eliminates the problem.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-02-22 15:28:34 -05:00
David B. Kinder
540efaf402 doc: fix misspellings in docs
regular spell check on .rst files found a few misspelled words

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2018-02-22 15:28:20 -05:00