1. 18 9月, 2020 1 次提交
  2. 14 7月, 2020 2 次提交
  3. 27 5月, 2020 1 次提交
    • G
      NFS: Replace zero-length array with flexible-array · 1ad8dd93
      Gustavo A. R. Silva 提交于
      The current codebase makes use of the zero-length array language
      extension to the C90 standard, but the preferred mechanism to declare
      variable-length types such as these ones is a flexible array member[1][2],
      introduced in C99:
      
      struct foo {
              int stuff;
              struct boo array[];
      };
      
      By making use of the mechanism above, we will get a compiler warning
      in case the flexible array does not occur last in the structure, which
      will help us prevent some kind of undefined behavior bugs from being
      inadvertently introduced[3] to the codebase from now on.
      
      Also, notice that, dynamic memory allocations won't be affected by
      this change:
      
      "Flexible array members have incomplete type, and so the sizeof operator
      may not be applied. As a quirk of the original implementation of
      zero-length arrays, sizeof evaluates to zero."[1]
      
      sizeof(flexible-array-member) triggers a warning because flexible array
      members have incomplete type[1]. There are some instances of code in
      which the sizeof operator is being incorrectly/erroneously applied to
      zero-length arrays and the result is zero. Such instances may be hiding
      some bugs. So, this work (flexible-array member conversions) will also
      help to get completely rid of those sorts of issues.
      
      This issue was found with the help of Coccinelle.
      
      [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
      [2] https://github.com/KSPP/linux/issues/21
      [3] commit 76497732 ("cxgb3/l2t: Fix undefined behaviour")
      Signed-off-by: NGustavo A. R. Silva <gustavoars@kernel.org>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      1ad8dd93
  4. 29 4月, 2020 1 次提交
  5. 31 3月, 2020 1 次提交
    • S
      NFS: Ensure security label is set for root inode · 779df6a5
      Scott Mayhew 提交于
      When using NFSv4.2, the security label for the root inode should be set
      via a call to nfs_setsecurity() during the mount process, otherwise the
      inode will appear as unlabeled for up to acdirmin seconds.  Currently
      the label for the root inode is allocated, retrieved, and freed entirely
      witin nfs4_proc_get_root().
      
      Add a field for the label to the nfs_fattr struct, and allocate & free
      the label in nfs_get_root(), where we also add a call to
      nfs_setsecurity().  Note that for the call to nfs_setsecurity() to
      succeed, it's necessary to also move the logic calling
      security_sb_{set,clone}_security() from nfs_get_tree_common() down into
      nfs_get_root()... otherwise the SBLABEL_MNT flag will not be set in the
      super_block's security flags and nfs_setsecurity() will silently fail.
      Reported-by: NRichard Haines <richard_c_haines@btinternet.com>
      Signed-off-by: NScott Mayhew <smayhew@redhat.com>
      Acked-by: NStephen Smalley <sds@tycho.nsa.gov>
      Tested-by: NStephen Smalley <sds@tycho.nsa.gov>
      [PM: fixed 80-char line width problems]
      Signed-off-by: NPaul Moore <paul@paul-moore.com>
      779df6a5
  6. 28 3月, 2020 5 次提交
  7. 26 3月, 2020 1 次提交
  8. 25 1月, 2020 1 次提交
  9. 15 1月, 2020 4 次提交
  10. 04 11月, 2019 2 次提交
  11. 10 10月, 2019 2 次提交
  12. 02 3月, 2019 1 次提交
  13. 21 2月, 2019 1 次提交
  14. 20 12月, 2018 2 次提交
  15. 01 10月, 2018 3 次提交
  16. 10 8月, 2018 3 次提交
  17. 27 7月, 2018 1 次提交
  18. 19 6月, 2018 1 次提交
  19. 05 6月, 2018 1 次提交
  20. 01 6月, 2018 6 次提交