#3239 closed enhancement (fixed)

Add getentropy() implementation provided by each BSP

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: normal Milestone: 5.1
Component: dev Version: 5
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

The getentropy() system call was introduced by OpenBSD and is now also available on glibc 2.25 and later. It is used for example by arc4random_buf(). Which in turn is used by various cryptographic functions.

Change History (9)

comment:1 Changed on Nov 17, 2017 at 6:28:22 AM by Christian Mauderer <Christian.Mauderer@…>

In ddc339c/rtems:

cpukit: Add _arc4random_getentropy_fail.

Add a default implementation of _arc4random_getentropy_fail with an
internal error.

Update #3239.

comment:2 Changed on Nov 17, 2017 at 6:28:34 AM by Christian Mauderer <Christian.Mauderer@…>

In ca4895c/rtems:

getentropy: Add cpu counter based implementation.

Update #3239.

comment:3 Changed on Nov 17, 2017 at 6:28:47 AM by Christian Mauderer <Christian.Mauderer@…>

In 1358d4c/rtems:

getentropy: Add test.

Update #3239.

comment:4 Changed on Nov 17, 2017 at 6:29:01 AM by Christian Mauderer <Christian.Mauderer@…>

In a9de9a7/rtems:

bsp/atsam: Add getentropy().

Update #3239.

comment:5 Changed on Nov 17, 2017 at 6:48:05 AM by Christian Mauderer <Christian.Mauderer@…>

In d0b961a/rtems-docs:

bsp-howto: Add getentropy.

Update #3239.

comment:6 Changed on Nov 17, 2017 at 6:58:41 AM by Sebastian Huber <sebastian.huber@…>

Resolution: fixed
Status: assignedclosed

In baf9824/rtems-docs:

Document INTERNAL_ERROR_ARC4RANDOM_GETENTROPY_FAIL

Close #3239.

comment:7 Changed on Nov 20, 2017 at 7:09:41 AM by Sebastian Huber <sebastian.huber@…>

In 70f23e4/rtems-docs:

Clarify INTERNAL_ERROR_ARC4RANDOM_GETENTROPY_FAIL

Update #3239.

comment:8 Changed on Nov 20, 2017 at 7:50:50 AM by Sebastian Huber <sebastian.huber@…>

In 3d374d9/rtems:

bsps: Use a state in default getentropy()

Use the boot time to initialize the state. Use the state, the current
CPU counter and a very simple pseudo random number generator for
getentropy(). At least, this enables to pass the test "GETENTROPY 1" on
ERC32.

Update #3239.

comment:9 Changed on Nov 22, 2017 at 12:01:45 PM by Sebastian Huber <sebastian.huber@…>

In a8bf9a3/rtems:

bsps: Add default getentropy() implementation

Update #3239.
Close #3249.

Note: See TracTickets for help on using tickets.