.. | .. |
---|
379 | 379 | |
---|
380 | 380 | err = skcipher_walk_virt(&walk, req, true); |
---|
381 | 381 | |
---|
| 382 | + kernel_fpu_begin(); |
---|
382 | 383 | while ((nbytes = walk.nbytes)) { |
---|
383 | | - kernel_fpu_begin(); |
---|
384 | 384 | aesni_ecb_enc(ctx, walk.dst.virt.addr, walk.src.virt.addr, |
---|
385 | 385 | nbytes & AES_BLOCK_MASK); |
---|
386 | | - kernel_fpu_end(); |
---|
387 | 386 | nbytes &= AES_BLOCK_SIZE - 1; |
---|
388 | 387 | err = skcipher_walk_done(&walk, nbytes); |
---|
389 | 388 | } |
---|
| 389 | + kernel_fpu_end(); |
---|
390 | 390 | |
---|
391 | 391 | return err; |
---|
392 | 392 | } |
---|
.. | .. |
---|
401 | 401 | |
---|
402 | 402 | err = skcipher_walk_virt(&walk, req, true); |
---|
403 | 403 | |
---|
| 404 | + kernel_fpu_begin(); |
---|
404 | 405 | while ((nbytes = walk.nbytes)) { |
---|
405 | | - kernel_fpu_begin(); |
---|
406 | 406 | aesni_ecb_dec(ctx, walk.dst.virt.addr, walk.src.virt.addr, |
---|
407 | 407 | nbytes & AES_BLOCK_MASK); |
---|
408 | | - kernel_fpu_end(); |
---|
409 | 408 | nbytes &= AES_BLOCK_SIZE - 1; |
---|
410 | 409 | err = skcipher_walk_done(&walk, nbytes); |
---|
411 | 410 | } |
---|
| 411 | + kernel_fpu_end(); |
---|
412 | 412 | |
---|
413 | 413 | return err; |
---|
414 | 414 | } |
---|
.. | .. |
---|
423 | 423 | |
---|
424 | 424 | err = skcipher_walk_virt(&walk, req, true); |
---|
425 | 425 | |
---|
| 426 | + kernel_fpu_begin(); |
---|
426 | 427 | while ((nbytes = walk.nbytes)) { |
---|
427 | | - kernel_fpu_begin(); |
---|
428 | 428 | aesni_cbc_enc(ctx, walk.dst.virt.addr, walk.src.virt.addr, |
---|
429 | 429 | nbytes & AES_BLOCK_MASK, walk.iv); |
---|
430 | | - kernel_fpu_end(); |
---|
431 | 430 | nbytes &= AES_BLOCK_SIZE - 1; |
---|
432 | 431 | err = skcipher_walk_done(&walk, nbytes); |
---|
433 | 432 | } |
---|
| 433 | + kernel_fpu_end(); |
---|
434 | 434 | |
---|
435 | 435 | return err; |
---|
436 | 436 | } |
---|
.. | .. |
---|
445 | 445 | |
---|
446 | 446 | err = skcipher_walk_virt(&walk, req, true); |
---|
447 | 447 | |
---|
| 448 | + kernel_fpu_begin(); |
---|
448 | 449 | while ((nbytes = walk.nbytes)) { |
---|
449 | | - kernel_fpu_begin(); |
---|
450 | 450 | aesni_cbc_dec(ctx, walk.dst.virt.addr, walk.src.virt.addr, |
---|
451 | 451 | nbytes & AES_BLOCK_MASK, walk.iv); |
---|
452 | | - kernel_fpu_end(); |
---|
453 | 452 | nbytes &= AES_BLOCK_SIZE - 1; |
---|
454 | 453 | err = skcipher_walk_done(&walk, nbytes); |
---|
455 | 454 | } |
---|
| 455 | + kernel_fpu_end(); |
---|
456 | 456 | |
---|
457 | 457 | return err; |
---|
458 | 458 | } |
---|
.. | .. |
---|
500 | 500 | |
---|
501 | 501 | err = skcipher_walk_virt(&walk, req, true); |
---|
502 | 502 | |
---|
| 503 | + kernel_fpu_begin(); |
---|
503 | 504 | while ((nbytes = walk.nbytes) >= AES_BLOCK_SIZE) { |
---|
504 | | - kernel_fpu_begin(); |
---|
505 | 505 | aesni_ctr_enc_tfm(ctx, walk.dst.virt.addr, walk.src.virt.addr, |
---|
506 | 506 | nbytes & AES_BLOCK_MASK, walk.iv); |
---|
507 | | - kernel_fpu_end(); |
---|
508 | 507 | nbytes &= AES_BLOCK_SIZE - 1; |
---|
509 | 508 | err = skcipher_walk_done(&walk, nbytes); |
---|
510 | 509 | } |
---|
511 | 510 | if (walk.nbytes) { |
---|
512 | | - kernel_fpu_begin(); |
---|
513 | 511 | ctr_crypt_final(ctx, &walk); |
---|
514 | | - kernel_fpu_end(); |
---|
515 | 512 | err = skcipher_walk_done(&walk, 0); |
---|
516 | 513 | } |
---|
| 514 | + kernel_fpu_end(); |
---|
517 | 515 | |
---|
518 | 516 | return err; |
---|
519 | 517 | } |
---|