1. 09 Aug, 2022 3 commits
    • Dave Jiang's avatar
      ntb: intel: add GNR support for Intel PCIe gen5 NTB · a914fc52
      Dave Jiang authored
      Add Intel Granite Rapids NTB PCI device ID and related enabling.
      Expectation is same hardware interface as Saphire Rapids Xeon platforms.
      Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
      Acked-by: default avatarAllen Hubbe <allenbh@gmail.com>
      Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
      a914fc52
    • Dan Carpenter's avatar
      NTB: ntb_tool: uninitialized heap data in tool_fn_write() · 45e1058b
      Dan Carpenter authored
      The call to:
      
      	ret = simple_write_to_buffer(buf, size, offp, ubuf, size);
      
      will return success if it is able to write even one byte to "buf".
      The value of "*offp" controls which byte.  This could result in
      reading uninitialized data when we do the sscanf() on the next line.
      
      This code is not really desigined to handle partial writes where
      *offp is non-zero and the "buf" is preserved and re-used between writes.
      Just ban partial writes and replace the simple_write_to_buffer() with
      copy_from_user().
      
      Fixes: 578b881b ("NTB: Add tool test client")
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
      45e1058b
    • Justin Stitt's avatar
      ntb: idt: fix clang -Wformat warnings · a44252d5
      Justin Stitt authored
      When building with Clang we encounter these warnings:
      | drivers/ntb/hw/idt/ntb_hw_idt.c:2409:28: error: format specifies type
      | 'unsigned char' but the argument has type 'int' [-Werror,-Wformat]
      | "\t%hhu-%hhu.\t", idx + cnt - 1);
      -
      | drivers/ntb/hw/idt/ntb_hw_idt.c:2438:29: error: format specifies type
      | 'unsigned char' but the argument has type 'int' [-Werror,-Wformat]
      | "\t%hhu-%hhu.\t", idx + cnt - 1);
      -
      | drivers/ntb/hw/idt/ntb_hw_idt.c:2484:15: error: format specifies type
      | 'unsigned char' but the argument has type 'int' [-Werror,-Wformat], src);
      
      For the first two warnings the format specifier used is `%hhu` which
      describes a u8. Both `idx` and `cnt` are u8 as well. However, the
      expression as a whole is promoted to an int as you cannot get
      smaller-than-int from addition. Therefore, to fix the warning, use the
      promoted-to-type's format specifier -- in this case `%d`.
      
      example:
      ``
      uint8_t a = 4, b = 7;
      int size = sizeof(a + b - 1);
      printf("%d\n", size);
      // output: 4
      ```
      
      For the last warning, src is of type `int` while the format specifier
      describes a u8. The fix here is just to use the proper specifier `%d`.
      
      See more:
      (https://wiki.sei.cmu.edu/confluence/display/c/INT02-C.+Understand+integer+conversion+rules)
      "Integer types smaller than int are promoted when an operation is
      performed on them. If all values of the original type can be represented
      as an int, the value of the smaller type is converted to an int;
      otherwise, it is converted to an unsigned int."
      
      Link: https://github.com/ClangBuiltLinux/linux/issues/378Signed-off-by: default avatarJustin Stitt <justinstitt@google.com>
      Acked-by: default avatarSerge Semin <fancer.lancer@gmail.com>
      Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
      a44252d5
  2. 31 Jul, 2022 6 commits
  3. 30 Jul, 2022 2 commits
  4. 29 Jul, 2022 29 commits