Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

random: remove dead code left over from blocking pool

Remove some dead code that was left over following commit 90ea1c6436d2
("random: remove the blocking pool").

Cc: linux-crypto@vger.kernel.org
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Jann Horn <jannh@google.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Andy Lutomirski <luto@kernel.org>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Eric Biggers and committed by
Herbert Xu
118a4417 a181e0fd

+3 -97
+3 -14
drivers/char/random.c
··· 500 500 unsigned short add_ptr; 501 501 unsigned short input_rotate; 502 502 int entropy_count; 503 - unsigned int initialized:1; 504 503 unsigned int last_data_init:1; 505 504 __u8 last_data[EXTRACT_SIZE]; 506 505 }; ··· 659 660 */ 660 661 static void credit_entropy_bits(struct entropy_store *r, int nbits) 661 662 { 662 - int entropy_count, orig, has_initialized = 0; 663 + int entropy_count, orig; 663 664 const int pool_size = r->poolinfo->poolfracbits; 664 665 int nfrac = nbits << ENTROPY_SHIFT; 665 666 ··· 716 717 if (cmpxchg(&r->entropy_count, orig, entropy_count) != orig) 717 718 goto retry; 718 719 719 - if (has_initialized) { 720 - r->initialized = 1; 721 - kill_fasync(&fasync, SIGIO, POLL_IN); 722 - } 723 - 724 720 trace_credit_entropy_bits(r->name, nbits, 725 721 entropy_count >> ENTROPY_SHIFT, _RET_IP_); 726 722 727 723 if (r == &input_pool) { 728 724 int entropy_bits = entropy_count >> ENTROPY_SHIFT; 729 725 730 - if (crng_init < 2) { 731 - if (entropy_bits < 128) 732 - return; 726 + if (crng_init < 2 && entropy_bits >= 128) 733 727 crng_reseed(&primary_crng, r); 734 - entropy_bits = ENTROPY_BITS(r); 735 - } 736 728 } 737 729 } 738 730 ··· 1362 1372 } 1363 1373 1364 1374 /* 1365 - * This function does the actual extraction for extract_entropy and 1366 - * extract_entropy_user. 1375 + * This function does the actual extraction for extract_entropy. 1367 1376 * 1368 1377 * Note: we assume that .poolwords is a multiple of 16 words. 1369 1378 */
-83
include/trace/events/random.h
··· 85 85 __entry->entropy_count, (void *)__entry->IP) 86 86 ); 87 87 88 - TRACE_EVENT(push_to_pool, 89 - TP_PROTO(const char *pool_name, int pool_bits, int input_bits), 90 - 91 - TP_ARGS(pool_name, pool_bits, input_bits), 92 - 93 - TP_STRUCT__entry( 94 - __field( const char *, pool_name ) 95 - __field( int, pool_bits ) 96 - __field( int, input_bits ) 97 - ), 98 - 99 - TP_fast_assign( 100 - __entry->pool_name = pool_name; 101 - __entry->pool_bits = pool_bits; 102 - __entry->input_bits = input_bits; 103 - ), 104 - 105 - TP_printk("%s: pool_bits %d input_pool_bits %d", 106 - __entry->pool_name, __entry->pool_bits, 107 - __entry->input_bits) 108 - ); 109 - 110 88 TRACE_EVENT(debit_entropy, 111 89 TP_PROTO(const char *pool_name, int debit_bits), 112 90 ··· 137 159 138 160 TP_printk("dev %d,%d input_pool_bits %d", MAJOR(__entry->dev), 139 161 MINOR(__entry->dev), __entry->input_bits) 140 - ); 141 - 142 - TRACE_EVENT(xfer_secondary_pool, 143 - TP_PROTO(const char *pool_name, int xfer_bits, int request_bits, 144 - int pool_entropy, int input_entropy), 145 - 146 - TP_ARGS(pool_name, xfer_bits, request_bits, pool_entropy, 147 - input_entropy), 148 - 149 - TP_STRUCT__entry( 150 - __field( const char *, pool_name ) 151 - __field( int, xfer_bits ) 152 - __field( int, request_bits ) 153 - __field( int, pool_entropy ) 154 - __field( int, input_entropy ) 155 - ), 156 - 157 - TP_fast_assign( 158 - __entry->pool_name = pool_name; 159 - __entry->xfer_bits = xfer_bits; 160 - __entry->request_bits = request_bits; 161 - __entry->pool_entropy = pool_entropy; 162 - __entry->input_entropy = input_entropy; 163 - ), 164 - 165 - TP_printk("pool %s xfer_bits %d request_bits %d pool_entropy %d " 166 - "input_entropy %d", __entry->pool_name, __entry->xfer_bits, 167 - __entry->request_bits, __entry->pool_entropy, 168 - __entry->input_entropy) 169 162 ); 170 163 171 164 DECLARE_EVENT_CLASS(random__get_random_bytes, ··· 200 251 unsigned long IP), 201 252 202 253 TP_ARGS(pool_name, nbytes, entropy_count, IP) 203 - ); 204 - 205 - DEFINE_EVENT(random__extract_entropy, extract_entropy_user, 206 - TP_PROTO(const char *pool_name, int nbytes, int entropy_count, 207 - unsigned long IP), 208 - 209 - TP_ARGS(pool_name, nbytes, entropy_count, IP) 210 - ); 211 - 212 - TRACE_EVENT(random_read, 213 - TP_PROTO(int got_bits, int need_bits, int pool_left, int input_left), 214 - 215 - TP_ARGS(got_bits, need_bits, pool_left, input_left), 216 - 217 - TP_STRUCT__entry( 218 - __field( int, got_bits ) 219 - __field( int, need_bits ) 220 - __field( int, pool_left ) 221 - __field( int, input_left ) 222 - ), 223 - 224 - TP_fast_assign( 225 - __entry->got_bits = got_bits; 226 - __entry->need_bits = need_bits; 227 - __entry->pool_left = pool_left; 228 - __entry->input_left = input_left; 229 - ), 230 - 231 - TP_printk("got_bits %d still_needed_bits %d " 232 - "blocking_pool_entropy_left %d input_entropy_left %d", 233 - __entry->got_bits, __entry->got_bits, __entry->pool_left, 234 - __entry->input_left) 235 254 ); 236 255 237 256 TRACE_EVENT(urandom_read,