forked from pool/systemd
.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=891
This commit is contained in:
parent
7b0d5fb401
commit
e1ed5fb34d
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 13 11:46:12 UTC 2015 - werner@suse.de
|
||||||
|
|
||||||
|
- Change use-rndaddentropy-ioctl-to-load-random-seed.patch to
|
||||||
|
make it work on big endian
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 11 09:48:26 UTC 2015 - jengelh@inai.de
|
Tue Aug 11 09:48:26 UTC 2015 - jengelh@inai.de
|
||||||
|
|
||||||
|
@ -39,12 +39,12 @@ Index: systemd-221/src/random-seed/random-seed.c
|
|||||||
|
|
||||||
- buf = malloc(buf_size);
|
- buf = malloc(buf_size);
|
||||||
- if (!buf) {
|
- if (!buf) {
|
||||||
+ entropy = malloc(sizeof(struct rand_pool_info) + buf_size);
|
+ entropy = (struct rand_pool_info*) malloc(sizeof(struct rand_pool_info) + buf_size);
|
||||||
+ if (!entropy) {
|
+ if (!entropy) {
|
||||||
r = log_oom();
|
r = log_oom();
|
||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
+ entropy->buf_size = buf_size;
|
+ entropy->buf_size = (typeof(entropy->buf_size)) buf_size;
|
||||||
|
|
||||||
r = mkdir_parents_label(RANDOM_SEED, 0755);
|
r = mkdir_parents_label(RANDOM_SEED, 0755);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
@ -77,7 +77,7 @@ Index: systemd-221/src/random-seed/random-seed.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
- k = loop_read(seed_fd, buf, buf_size, false);
|
- k = loop_read(seed_fd, buf, buf_size, false);
|
||||||
+ k = loop_read(seed_fd, entropy->buf, entropy->buf_size, false);
|
+ k = loop_read(seed_fd, entropy->buf, (size_t) entropy->buf_size, false);
|
||||||
if (k < 0)
|
if (k < 0)
|
||||||
r = log_error_errno(k, "Failed to read seed from " RANDOM_SEED ": %m");
|
r = log_error_errno(k, "Failed to read seed from " RANDOM_SEED ": %m");
|
||||||
else if (k == 0)
|
else if (k == 0)
|
||||||
@ -88,7 +88,7 @@ Index: systemd-221/src/random-seed/random-seed.c
|
|||||||
- r = loop_write(random_fd, buf, (size_t) k, false);
|
- r = loop_write(random_fd, buf, (size_t) k, false);
|
||||||
- if (r < 0)
|
- if (r < 0)
|
||||||
- log_error_errno(r, "Failed to write seed to /dev/urandom: %m");
|
- log_error_errno(r, "Failed to write seed to /dev/urandom: %m");
|
||||||
+ if (entropy->entropy_count && ((size_t)k) == entropy->buf_size) {
|
+ if (entropy->entropy_count && (size_t)k == (size_t)entropy->buf_size) {
|
||||||
+ r = ioctl(random_fd, RNDADDENTROPY, entropy);
|
+ r = ioctl(random_fd, RNDADDENTROPY, entropy);
|
||||||
+ if (r < 0) {
|
+ if (r < 0) {
|
||||||
+ log_error_errno(errno, "Failed to write seed to /dev/urandom: %m");
|
+ log_error_errno(errno, "Failed to write seed to /dev/urandom: %m");
|
||||||
@ -141,7 +141,7 @@ Index: systemd-221/src/random-seed/random-seed.c
|
|||||||
(void) fchown(seed_fd, 0, 0);
|
(void) fchown(seed_fd, 0, 0);
|
||||||
|
|
||||||
- k = loop_read(random_fd, buf, buf_size, false);
|
- k = loop_read(random_fd, buf, buf_size, false);
|
||||||
+ k = loop_read(random_fd, entropy->buf, entropy->buf_size, false);
|
+ k = loop_read(random_fd, entropy->buf, (size_t) entropy->buf_size, false);
|
||||||
if (k < 0) {
|
if (k < 0) {
|
||||||
r = log_error_errno(k, "Failed to read new seed from /dev/urandom: %m");
|
r = log_error_errno(k, "Failed to read new seed from /dev/urandom: %m");
|
||||||
goto finish;
|
goto finish;
|
||||||
|
Loading…
Reference in New Issue
Block a user