~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/crypto/crct10dif_common.c

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /crypto/crct10dif_common.c (Version linux-6.11.5) and /crypto/crct10dif_common.c (Version linux-5.16.20)


  1 /*                                                  1 /*
  2  * Cryptographic API.                               2  * Cryptographic API.
  3  *                                                  3  *
  4  * T10 Data Integrity Field CRC16 Crypto Trans      4  * T10 Data Integrity Field CRC16 Crypto Transform
  5  *                                                  5  *
  6  * Copyright (c) 2007 Oracle Corporation.  All      6  * Copyright (c) 2007 Oracle Corporation.  All rights reserved.
  7  * Written by Martin K. Petersen <martin.peter      7  * Written by Martin K. Petersen <martin.petersen@oracle.com>
  8  * Copyright (C) 2013 Intel Corporation             8  * Copyright (C) 2013 Intel Corporation
  9  * Author: Tim Chen <tim.c.chen@linux.intel.co      9  * Author: Tim Chen <tim.c.chen@linux.intel.com>
 10  *                                                 10  *
 11  * This program is free software; you can redi     11  * This program is free software; you can redistribute it and/or modify it
 12  * under the terms of the GNU General Public L     12  * under the terms of the GNU General Public License as published by the Free
 13  * Software Foundation; either version 2 of th     13  * Software Foundation; either version 2 of the License, or (at your option)
 14  * any later version.                              14  * any later version.
 15  *                                                 15  *
 16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT W     16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 17  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMIT     17  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR P     18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 19  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTH     19  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 20  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER L     20  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 21  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARIS     21  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 22  * CONNECTION WITH THE SOFTWARE OR THE USE OR      22  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 23  * SOFTWARE.                                       23  * SOFTWARE.
 24  *                                                 24  *
 25  */                                                25  */
 26                                                    26 
 27 #include <linux/crc-t10dif.h>                      27 #include <linux/crc-t10dif.h>
 28 #include <linux/module.h>                          28 #include <linux/module.h>
 29 #include <linux/kernel.h>                          29 #include <linux/kernel.h>
 30                                                    30 
 31 /* Table generated using the following polynom     31 /* Table generated using the following polynomium:
 32  * x^16 + x^15 + x^11 + x^9 + x^8 + x^7 + x^5      32  * x^16 + x^15 + x^11 + x^9 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1
 33  * gt: 0x8bb7                                      33  * gt: 0x8bb7
 34  */                                                34  */
 35 static const __u16 t10_dif_crc_table[256] = {      35 static const __u16 t10_dif_crc_table[256] = {
 36         0x0000, 0x8BB7, 0x9CD9, 0x176E, 0xB205     36         0x0000, 0x8BB7, 0x9CD9, 0x176E, 0xB205, 0x39B2, 0x2EDC, 0xA56B,
 37         0xEFBD, 0x640A, 0x7364, 0xF8D3, 0x5DB8     37         0xEFBD, 0x640A, 0x7364, 0xF8D3, 0x5DB8, 0xD60F, 0xC161, 0x4AD6,
 38         0x54CD, 0xDF7A, 0xC814, 0x43A3, 0xE6C8     38         0x54CD, 0xDF7A, 0xC814, 0x43A3, 0xE6C8, 0x6D7F, 0x7A11, 0xF1A6,
 39         0xBB70, 0x30C7, 0x27A9, 0xAC1E, 0x0975     39         0xBB70, 0x30C7, 0x27A9, 0xAC1E, 0x0975, 0x82C2, 0x95AC, 0x1E1B,
 40         0xA99A, 0x222D, 0x3543, 0xBEF4, 0x1B9F     40         0xA99A, 0x222D, 0x3543, 0xBEF4, 0x1B9F, 0x9028, 0x8746, 0x0CF1,
 41         0x4627, 0xCD90, 0xDAFE, 0x5149, 0xF422     41         0x4627, 0xCD90, 0xDAFE, 0x5149, 0xF422, 0x7F95, 0x68FB, 0xE34C,
 42         0xFD57, 0x76E0, 0x618E, 0xEA39, 0x4F52     42         0xFD57, 0x76E0, 0x618E, 0xEA39, 0x4F52, 0xC4E5, 0xD38B, 0x583C,
 43         0x12EA, 0x995D, 0x8E33, 0x0584, 0xA0EF     43         0x12EA, 0x995D, 0x8E33, 0x0584, 0xA0EF, 0x2B58, 0x3C36, 0xB781,
 44         0xD883, 0x5334, 0x445A, 0xCFED, 0x6A86     44         0xD883, 0x5334, 0x445A, 0xCFED, 0x6A86, 0xE131, 0xF65F, 0x7DE8,
 45         0x373E, 0xBC89, 0xABE7, 0x2050, 0x853B     45         0x373E, 0xBC89, 0xABE7, 0x2050, 0x853B, 0x0E8C, 0x19E2, 0x9255,
 46         0x8C4E, 0x07F9, 0x1097, 0x9B20, 0x3E4B     46         0x8C4E, 0x07F9, 0x1097, 0x9B20, 0x3E4B, 0xB5FC, 0xA292, 0x2925,
 47         0x63F3, 0xE844, 0xFF2A, 0x749D, 0xD1F6     47         0x63F3, 0xE844, 0xFF2A, 0x749D, 0xD1F6, 0x5A41, 0x4D2F, 0xC698,
 48         0x7119, 0xFAAE, 0xEDC0, 0x6677, 0xC31C     48         0x7119, 0xFAAE, 0xEDC0, 0x6677, 0xC31C, 0x48AB, 0x5FC5, 0xD472,
 49         0x9EA4, 0x1513, 0x027D, 0x89CA, 0x2CA1     49         0x9EA4, 0x1513, 0x027D, 0x89CA, 0x2CA1, 0xA716, 0xB078, 0x3BCF,
 50         0x25D4, 0xAE63, 0xB90D, 0x32BA, 0x97D1     50         0x25D4, 0xAE63, 0xB90D, 0x32BA, 0x97D1, 0x1C66, 0x0B08, 0x80BF,
 51         0xCA69, 0x41DE, 0x56B0, 0xDD07, 0x786C     51         0xCA69, 0x41DE, 0x56B0, 0xDD07, 0x786C, 0xF3DB, 0xE4B5, 0x6F02,
 52         0x3AB1, 0xB106, 0xA668, 0x2DDF, 0x88B4     52         0x3AB1, 0xB106, 0xA668, 0x2DDF, 0x88B4, 0x0303, 0x146D, 0x9FDA,
 53         0xD50C, 0x5EBB, 0x49D5, 0xC262, 0x6709     53         0xD50C, 0x5EBB, 0x49D5, 0xC262, 0x6709, 0xECBE, 0xFBD0, 0x7067,
 54         0x6E7C, 0xE5CB, 0xF2A5, 0x7912, 0xDC79     54         0x6E7C, 0xE5CB, 0xF2A5, 0x7912, 0xDC79, 0x57CE, 0x40A0, 0xCB17,
 55         0x81C1, 0x0A76, 0x1D18, 0x96AF, 0x33C4     55         0x81C1, 0x0A76, 0x1D18, 0x96AF, 0x33C4, 0xB873, 0xAF1D, 0x24AA,
 56         0x932B, 0x189C, 0x0FF2, 0x8445, 0x212E     56         0x932B, 0x189C, 0x0FF2, 0x8445, 0x212E, 0xAA99, 0xBDF7, 0x3640,
 57         0x7C96, 0xF721, 0xE04F, 0x6BF8, 0xCE93     57         0x7C96, 0xF721, 0xE04F, 0x6BF8, 0xCE93, 0x4524, 0x524A, 0xD9FD,
 58         0xC7E6, 0x4C51, 0x5B3F, 0xD088, 0x75E3     58         0xC7E6, 0x4C51, 0x5B3F, 0xD088, 0x75E3, 0xFE54, 0xE93A, 0x628D,
 59         0x285B, 0xA3EC, 0xB482, 0x3F35, 0x9A5E     59         0x285B, 0xA3EC, 0xB482, 0x3F35, 0x9A5E, 0x11E9, 0x0687, 0x8D30,
 60         0xE232, 0x6985, 0x7EEB, 0xF55C, 0x5037     60         0xE232, 0x6985, 0x7EEB, 0xF55C, 0x5037, 0xDB80, 0xCCEE, 0x4759,
 61         0x0D8F, 0x8638, 0x9156, 0x1AE1, 0xBF8A     61         0x0D8F, 0x8638, 0x9156, 0x1AE1, 0xBF8A, 0x343D, 0x2353, 0xA8E4,
 62         0xB6FF, 0x3D48, 0x2A26, 0xA191, 0x04FA     62         0xB6FF, 0x3D48, 0x2A26, 0xA191, 0x04FA, 0x8F4D, 0x9823, 0x1394,
 63         0x5942, 0xD2F5, 0xC59B, 0x4E2C, 0xEB47     63         0x5942, 0xD2F5, 0xC59B, 0x4E2C, 0xEB47, 0x60F0, 0x779E, 0xFC29,
 64         0x4BA8, 0xC01F, 0xD771, 0x5CC6, 0xF9AD     64         0x4BA8, 0xC01F, 0xD771, 0x5CC6, 0xF9AD, 0x721A, 0x6574, 0xEEC3,
 65         0xA415, 0x2FA2, 0x38CC, 0xB37B, 0x1610     65         0xA415, 0x2FA2, 0x38CC, 0xB37B, 0x1610, 0x9DA7, 0x8AC9, 0x017E,
 66         0x1F65, 0x94D2, 0x83BC, 0x080B, 0xAD60     66         0x1F65, 0x94D2, 0x83BC, 0x080B, 0xAD60, 0x26D7, 0x31B9, 0xBA0E,
 67         0xF0D8, 0x7B6F, 0x6C01, 0xE7B6, 0x42DD     67         0xF0D8, 0x7B6F, 0x6C01, 0xE7B6, 0x42DD, 0xC96A, 0xDE04, 0x55B3
 68 };                                                 68 };
 69                                                    69 
 70 __u16 crc_t10dif_generic(__u16 crc, const unsi     70 __u16 crc_t10dif_generic(__u16 crc, const unsigned char *buffer, size_t len)
 71 {                                                  71 {
 72         unsigned int i;                            72         unsigned int i;
 73                                                    73 
 74         for (i = 0 ; i < len ; i++)                74         for (i = 0 ; i < len ; i++)
 75                 crc = (crc << 8) ^ t10_dif_crc     75                 crc = (crc << 8) ^ t10_dif_crc_table[((crc >> 8) ^ buffer[i]) & 0xff];
 76                                                    76 
 77         return crc;                                77         return crc;
 78 }                                                  78 }
 79 EXPORT_SYMBOL(crc_t10dif_generic);                 79 EXPORT_SYMBOL(crc_t10dif_generic);
 80                                                    80 
 81 MODULE_DESCRIPTION("T10 DIF CRC calculation co     81 MODULE_DESCRIPTION("T10 DIF CRC calculation common code");
 82 MODULE_LICENSE("GPL");                             82 MODULE_LICENSE("GPL");
 83                                                    83 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php