summaryrefslogtreecommitdiff
path: root/cpukit (follow)
AgeCommit message (Collapse)Author
2018-01-11libnetworking: Disconnect after mbuf shortageSebastian Huber
The missing disconnect left the socket in an unusable state. Each send request resulted in an EISCONN error.
2018-01-11score: Use _Workspace_Allocate_or_fatal_error()Sebastian Huber
Use _Workspace_Allocate_or_fatal_error() consistently in case auto extend is turned off. This helps to avoid undefined behaviour in _API_Mutex_Allocate() in case _API_Mutex_Information() fails.
2018-01-11rtems: PR1844: Fix MP process packet sizeSebastian Huber
2018-01-11librpc: PR2066: Fix for short enumsSebastian Huber
The XDR library has a problem on architectures with short enums like the default ARM EABI. Short enums means that the size of the enum type is variable and the smallest integer type to hold all enum values will be selected. For many enums this is char. The XDR library uses int32_t for enum_t. There are several evil casts from an enum type to enum_t which leads to invalid memory accesses on short enum architectures. A workaround is to add appropriate dummy enum values.
2018-01-11network/bootp: PR2031: Add and use header fileSebastien Bourdeauducq
2018-01-11dosfs: Fix for no space left on device conditionSebastian Huber
The file size was wrong in the no space left on device condition. This resulted in turn in a read of an invalid block which lead to an EIO error status.
2018-01-11network/dhcp: PR1841: Fix DNS processing in DHCPSebastien Bourdeauducq
2018-01-10score/chain: Fix _Chain_Is_first and _Chain_Is_lastGedare Bloom
Updates #1964.
2017-01-26tftpDriver: don't free directory node's path stringMichael Davidsaver
Update #2375.
2017-01-26tftpDriver: backport fixesMichael Davidsaver
ensure that node_access is comparable in unmount() Update #2375.
2017-01-26tftpDriver: apply changes through masterMichael Davidsaver
from 4.10.2-15-g5b21eb6 to eb7753437ff858ebe34a08baef7dfdb45eb0f018 Update #2375.
2016-05-20fat: Fix for invalid cluster sizesSebastian Huber
A cluster size > 32KiB resulted in an infinite loop in fat_init_volume_info() due to an integer overflow. Update #2717.
2016-05-17posix: Fix return states of pthread_kill()Sebastian Huber
POSIX mandates that an error code is returned and not -1 plus errno. Update #2715.
2016-05-17posix: Fix return status of pthread_cancel()Sebastian Huber
POSIX recommends ESRCH in case no thread exists for the specified identifier. Update #2713.
2015-10-21RFS: Fix resource leakSebastian Huber
Update #2433.
2015-07-29tftpDriver: close() false errorMichael Davidsaver
closes #2376.
2015-02-23rpc: misaligned pointer dereference in clnt_udp.c line 363Jeffrey Hill
see #2248
2015-02-23rpc: misaligned address exception in get_myaddress.cJeffrey Hill
updates #2249 see #1401
2015-02-23networking: alignment exception in ioctl(SIOCGIFCONF)Till Straumann
Access memory using a byte stream when copying to avoid unaligned access. update #1401
2014-11-28bdbuf: Fix race condition with sync active flagSebastian Huber
Bug report by Oleg Kravtsov: In rtems_bdbuf_swapout_processing() function there is the following lines: if (bdbuf_cache.sync_active && !transfered_buffers) { rtems_id sync_requester; rtems_bdbuf_lock_cache (); ... } Here access to bdbuf_cache.sync_active is not protected with anything. Imagine the following test case: 1. Task1 releases buffer(s) with bdbuf_release_modified() calls; 2. After a while swapout task starts and flushes all buffers; 3. In the end of that swapout flush we are before that part of code, and assume there is task switching (just before "if (bdbuf_cache.sync_active && !transfered_buffers)"); 4. Some other task (with higher priority) does bdbuf_release_modified and rtems_bdbuf_syncdev(). This task successfully gets both locks sync and pool (in rtems_bdbuf_syncdev() function), sets sync_active to true and starts waiting for RTEMS_BDBUF_TRANSFER_SYNC event with only sync lock got. 5. Task switching happens again and we are again before "if (bdbuf_cache.sync_active && !transfered_buffers)". As the result we check sync_active and we come inside that "if" statement. 6. The result is that we send RTEMS_BDBUF_TRANSFER_SYNC event! Though ALL modified messages of that task are not flushed yet! close #1485
2014-11-24Avoid buffer overflow and misaligned memory accessSebastian Huber
2014-11-22ppp: PR1943: Avoid NULL pointer accessSebastian Huber
Waiting for mbufs at this level is a bad solution. It would be better to try to allocate a new mbuf chain before we hand over the current mbuf chain to the upper layer. In case the allocation fails we should drop the current packet and use its mbuf chain for a new packet.
2014-11-22capture: back-port conversion from task_name to task_id (see #1361)Nickolay Semyonov
2014-08-20score: PR2179: Fix initially locked PI mutexSebastian Huber
2014-06-27ramdisk: Fix device name generationSebastian Huber
2014-05-23score: PR2179: Fix initially locked PCP mutexesSebastian Huber
Elevate the priority of the creating task to the ceiling priority in case a semaphore is created as initially locked.
2014-04-11posix: fix race condition between pthread_create and capture engineTill Strauman
Fix PR 2068: Reproducable crashes occur when using pthreads and the capture engine at the same time. 'pthread_create()' is the culprit. It creates a SCORE thread and then calls Thread_Start( ) without disabling thread-dispatching.
2013-08-26score: PR2140: Fix _Thread_queue_Process_timeout()Sebastian Huber
The _Thread_queue_Process_timeout() operation had several race conditions in the event of nested interrupts. Protect the critical sections via disabled interrupts.
2013-08-26score: PR2140: _Thread_queue_Extract()Sebastian Huber
Return if the executing context performed the extract operation since interrupts may interfere.
2013-08-23libblock: PR2040: Avoid NULL pointer accessSebastian Huber
This partly reverts commit 08b9d534604fbf437743a9925ef28eb1b848510d. Avoid a NULL pointer access and perform the source segment erase if necessary.
2013-01-07score: Fix _Objects_Shrink_information()Sebastian Huber
The chain iteration was wrong. The chain tail is not an object.
2013-01-07rtems: Critical fix for eventsSebastian Huber
Commit 4b45c1393ce4ee3e1c2762ef3145d2bd6b5b38da marked a test in _Event_Timeout() as debug only. This test is required also in non-debug configurations since otherwise state corruption can happen. A revised test sptests/spintrcritical10 checks the relevant sequences.
2012-12-06score: Critical fix for timer serverSebastian Huber
Under certain conditions it is possible that a call to _Watchdog_Adjust_to_chain() happens with a unit parameter value of zero (for example sptests/spintrcritical17). Remove superfluous checks that prevent an adjust to a chain of a watchdog chain which first element has a delta zero value.
2012-12-06tftpfs: PR1624: Fix parsing of hostnames and pathsDylan Maxwell
2012-08-09libblock: Fix purge device tree traversalSebastian Huber
2012-04-16libblock: PR2040: Fix recycle destination updateSebastian Huber
Check the availablity of a recycle destination segment only when it is necessary to avoid missing resycle source segment erasures.
2012-04-16libblock: PR2040: Add starvation thresholdSebastian Huber
Do not use the unavailable block count as the erased blocks starvation threshold. Use instead the block count of the largest segment. This improves the starvation resolution gain of available blocks.
2012-03-14PR2040: libblock: Flash disk starvations statisticSebastian Huber
2012-03-14PR2040: libblock: Flash disk documentationSebastian Huber
2012-03-14PR2040: libblock: Fix return statusSebastian Huber
2012-03-14PR2040: libblock: Avoid erased blocks starvationSebastian Huber
The compaction process needs erased blocks. It is only possible to erase an entire segment. Thus in order to make a progress we always need enough erased blocks to empty a used or available segment which can be erased in turn. A (possibly the worst case) lower bound of erased blocks is the block count of the largest segment. The number of unavailable blocks specified by the configuration will be used to determine the erase blocks starvation situation. The number of unavailable blocks must be greater than or equal to the number of blocks in the largest segment.
2012-03-14PR2040: libblock: Track number of erased blocksSebastian Huber
2012-03-14PR2040: libblock: Use segment control as parameterSebastian Huber
2012-03-14PR2039: Fix NULL pointer accessSebastian Huber
In case rtems_bdbuf_read() returns an error status, the block device buffer pointer will be set to NULL. In RFS the chain node of the block device buffer will be used for RFS purposes. We must not do this after an erroneous read.
2012-02-23PR 2026/filesystem - Fix semaphore attributesSebastian Huber
Semaphores of type RTEMS_SIMPLE_BINARY_SEMAPHORE are not suitable for a mutex. Use RTEMS_BINARY_SEMAPHORE with RTEMS_INHERIT_PRIORITY instead.
2012-02-03PR 2001/shell - medit command argument parsing correctionJoel Sherrill
"medit" overran the argument list, choking on the NULL pointer following the last argument. Note that "medit" still only does byte-sized accesses, which limits its usefulness on most systems. Author: Werner Almesberger <werner@almesberger.net> Signed-off-by: Sebastien Bourdeauducq <sebastien@milkymist.org>
2012-02-02PR 2012 - mdump/wdump shell cmds handle length arg incorrectly; add ldump cmdJoel Sherrill
* libmisc/shell/main_mdump.c: Reworked to fix bugs in handling of the length argument and to provide an "ldump" command. This file now also supports the "wdump" command. In addition, an RTEMS API function called rtems_mdump() is provided to allow easy dumping from application code. * libmisc/shell/main_mwdump.c: Obsolete file. * libmisc/Makefile.am: Removed main_mwdump.c * libmisc/shell/shellconfig.h: Added "ldump" command. * shell/memory.t: Added documentation for the "ldump" command Signed-off-by: Ric Claus <claus@SLAC.Stanford.edu>
2012-02-02PR 2012 - mdump/wdump shell cmds handle length arg incorrectly; add ldump cmdJoel Sherrill
* libmisc/shell/main_mdump.c: Reworked to fix bugs in handling of the length argument and to provide an "ldump" command. This file now also supports the "wdump" command. In addition, an RTEMS API function called rtems_mdump() is provided to allow easy dumping from application code. * libmisc/shell/main_mwdump.c: Obsolete file. * libmisc/Makefile.am: Removed main_mwdump.c * libmisc/shell/shellconfig.h: Added "ldump" command. * shell/memory.t: Added documentation for the "ldump" command Signed-off-by: Ric Claus <claus@SLAC.Stanford.edu>
2012-02-02PR 1998/networking - Move ftpd root initializationJoel Sherrill
From: Xiangfu <xiangfu@sharism.cc> Signed-off-by: Xiangfu <xiangfu@sharism.cc>
2012-02-02Add .git ignore. Remove .cvsignoreJoel Sherrill