zephyr/include
Leandro Pereira f5f95ee3a9 kernel: sem: Ensure that initial count is lesser or equal than limit
Ensure this value during static initialization (with build assertions),
and dynamic initializations through system calls.

If initial count is larger than the limit, it's possible for the count
to wraparound, causing locking issues.

Expanding the BUILD_ASSERT() macros after declaring a k_sem struct in
K_SEM_DEFINE() is necessary to support cases where a semaphore is
defined statically.

Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2018-04-24 04:04:36 +05:30
..
arch arch: x86: segmentation: Remove unused _far_call() and _far_jump() 2018-04-24 04:00:01 +05:30
bluetooth Bluetooth: Remove 'own_addr' from advertising parameters 2018-03-21 18:11:49 +02:00
crypto crypto: Remove useless attribute 2017-04-27 13:06:31 +00:00
debug debug: remove DEBUG_INFO option 2018-02-12 13:58:28 -08:00
dfu subsys: dfu: boot: Remove unused ver query code. 2018-02-21 18:53:42 -05:00
display doc: APIs: group display drivers 2017-11-17 17:14:18 -05:00
drivers drivers/spi: Switch Intel driver to new SPI API 2018-04-04 19:02:35 +02:00
dt-bindings dts: gpio: create gpio dt-bingings and inlude in stm32 dtsi files 2018-04-13 13:36:45 -05:00
fs subsys: fs: Add Virtual File system Switch (VFS) support 2018-03-10 21:38:04 -05:00
linker net: Add initial TX and RX traffic class support 2018-03-27 10:06:54 -04:00
logging subsys: kernel_event_logger: change kernel event values 2018-02-23 07:29:29 -05:00
mgmt mgmt: Bluetooth transport for SMP (mcumgr). 2018-02-20 22:07:52 +01:00
misc lib/rbtree: Add a rb_contains() predicate 2018-04-10 12:31:51 -04:00
net net: if: Add helper to select src interface for a IPv4 dst addr 2018-04-13 08:29:44 -04:00
posix lib: posix: Move posix layer from 'kernel' to 'lib' 2018-04-05 16:43:05 -04:00
random subsys: Add random subsystem 2017-11-01 08:26:29 -04:00
settings doc: subsystem: settings subsystem doc 2018-04-06 12:46:39 +02:00
shell subsys: mgmt: Shell transport for SMP (mcumgr). 2018-02-20 22:07:52 +01:00
toolchain toolchain: common: Allow multiple uses of BUILD_ASSERT() in same scope 2018-04-24 04:04:36 +05:30
usb usb: Add BOS Descriptors 2018-04-20 21:04:42 -07:00
zephyr Introduce new sized integer typedefs 2017-04-20 16:07:08 +00:00
adc.h drivers: adc: add system call handlers 2017-10-30 13:20:19 -07:00
aio_comparator.h drivers: aio_comparator: add system calls 2017-10-30 13:20:19 -07:00
atomic.h
base64.h lib: base64: Add statement of changes 2018-03-23 13:54:48 +01:00
cache.h
clock_control.h Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
console.h doc: fix misspellings in include (API docs) 2017-08-10 12:22:19 -04:00
counter.h doc: add missing API content 2017-12-01 08:58:56 -05:00
crc8.h crc: make crc8_ccitt() match the other CRC functions. 2018-03-10 21:49:07 -05:00
crc16.h include: improve compatibility with C++ apps. 2018-04-09 23:21:52 -04:00
device.h include: improve compatibility with C++ apps. 2018-04-09 23:21:52 -04:00
disk_access.h disk: delete the GET_DISK_SIZE IOCTL. 2018-01-31 09:14:40 -05:00
dma.h dma: Fix building when system calls are disabled 2018-02-13 10:32:41 -05:00
entropy.h drivers: Rename random to entropy 2017-11-01 08:26:29 -04:00
eth.h Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
fcb.h subsys: fs: fcb: remove f_area_id from fcb structure 2018-02-07 09:51:26 -05:00
flash_map.h subsys: storage: flash_map: Fix warning 2018-02-14 14:36:52 -05:00
flash.h flash: minor documentation improvements. 2017-11-28 12:25:19 -05:00
fs.h doc: misspellings in public API doxygen comments 2018-04-05 19:16:24 -04:00
gpio.h dts: gpio: create gpio dt-bingings and inlude in stm32 dtsi files 2018-04-13 13:36:45 -05:00
i2c.h drivers: i2c: add system call handlers 2017-10-30 13:20:19 -07:00
i2s.h doc: do not show undocumented members 2018-03-20 14:01:30 -04:00
init.h init.h: Fix english in comment 2018-03-26 13:17:39 -04:00
ipm.h drivers: ipm: add system calls 2017-10-30 13:20:19 -07:00
irq_offload.h
irq.h kernel: Make irq_{un}lock() APIs into a global spinlock in SMP mode 2018-02-16 10:44:29 -05:00
json.h doc: json: add to doxygen group 2017-11-22 13:27:01 -05:00
kernel_version.h kernel: version: parenthesize macro value 2018-01-04 13:29:03 -05:00
kernel.h kernel: sem: Ensure that initial count is lesser or equal than limit 2018-04-24 04:04:36 +05:30
led_strip.h include: improve compatibility with C++ apps. 2018-04-09 23:21:52 -04:00
pinmux.h pinmux: add two more entries to the function enum. 2018-02-05 06:31:35 -08:00
power.h Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
pwm.h drivers: pwm: add system call handlers 2017-10-30 13:20:19 -07:00
ring_buffer.h ring_buffer: remove broken object_tracing support 2018-01-18 17:44:38 -05:00
rtc.h drivers: rtc: add system calls 2017-10-30 13:20:19 -07:00
sensor.h sensors: Add separation between ambient and die temperature 2018-04-03 22:29:11 -04:00
shared_irq.h Convert remaining code to using newly introduced integer sized types 2017-04-21 11:38:23 -05:00
spi.h include: improve compatibility with C++ apps. 2018-04-09 23:21:52 -04:00
spinlock.h kernel: Simple spinlock API 2018-02-16 10:44:29 -05:00
stats.h doc: misspellings in public API doxygen comments 2018-04-05 19:16:24 -04:00
sw_isr_table.h sw_isr_table.h: fix includes 2017-10-27 16:08:54 -04:00
sys_clock.h kernel: tickless: Add tickless kernel support 2017-04-27 13:46:28 +00:00
sys_io.h sys_io.h: don't pull in kernel.h 2017-11-02 13:25:01 -07:00
syscall.h license: fix spdx identifier in a few files 2018-04-12 15:19:51 -04:00
toolchain.h xtensa: move byte-order macros out of arch.h 2017-05-11 12:47:23 -04:00
uart.h include: improve compatibility with C++ apps. 2018-04-09 23:21:52 -04:00
watchdog.h include: improve compatibility with C++ apps. 2018-04-09 23:21:52 -04:00
zephyr.h kernel: remove legacy.h and MDEF support 2017-04-19 10:59:35 -05:00