1. 15 5月, 2017 4 次提交
  2. 08 5月, 2017 1 次提交
  3. 29 4月, 2017 1 次提交
  4. 21 4月, 2017 1 次提交
  5. 13 3月, 2017 1 次提交
    • K
      nfs4: fix a typo of NFS_ATTR_FATTR_GROUP_NAME · 6f1f6220
      Kinglong Mee 提交于
      This typo cause a memory leak, and a bad client's group id.
      unreferenced object 0xffff96d8073998d0 (size 8):
        comm "kworker/0:3", pid 34224, jiffies 4295361338 (age 761.752s)
        hex dump (first 8 bytes):
          30 00 39 07 d8 96 ff ff                          0.9.....
        backtrace:
          [<ffffffffb883212a>] kmemleak_alloc+0x4a/0xa0
          [<ffffffffb8237bc0>] __kmalloc+0x140/0x220
          [<ffffffffc05c921c>] xdr_stream_decode_string_dup+0x7c/0x110 [sunrpc]
          [<ffffffffc08edcf0>] decode_getfattr_attrs+0x940/0x1630 [nfsv4]
          [<ffffffffc08eea7b>] decode_getfattr_generic.constprop.108+0x9b/0x100 [nfsv4]
          [<ffffffffc08eebaf>] nfs4_xdr_dec_open+0xcf/0x100 [nfsv4]
          [<ffffffffc05bf9c7>] rpcauth_unwrap_resp+0xa7/0xe0 [sunrpc]
          [<ffffffffc05afc70>] call_decode+0x1e0/0x810 [sunrpc]
          [<ffffffffc05bc64d>] __rpc_execute+0x8d/0x420 [sunrpc]
          [<ffffffffc05bc9f2>] rpc_async_schedule+0x12/0x20 [sunrpc]
          [<ffffffffb80bb077>] process_one_work+0x197/0x430
          [<ffffffffb80bb35e>] worker_thread+0x4e/0x4a0
          [<ffffffffb80c1d41>] kthread+0x101/0x140
          [<ffffffffb8839a5c>] ret_from_fork+0x2c/0x40
          [<ffffffffffffffff>] 0xffffffffffffffff
      
      Fixes: 686a816a ("NFSv4: Clean up owner/group attribute decode")
      Signed-off-by: NKinglong Mee <kinglongmee@gmail.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      6f1f6220
  6. 24 2月, 2017 1 次提交
  7. 22 2月, 2017 5 次提交
  8. 20 12月, 2016 3 次提交
  9. 10 12月, 2016 1 次提交
  10. 03 12月, 2016 1 次提交
  11. 02 12月, 2016 6 次提交
  12. 05 10月, 2016 1 次提交
    • D
      fs: nfs: Make nfs boot time y2038 safe · 2f86e091
      Deepa Dinamani 提交于
      boot_time is represented as a struct timespec.
      struct timespec and CURRENT_TIME are not y2038 safe.
      Overall, the plan is to use timespec64 and ktime_t for
      all internal kernel representation of timestamps.
      CURRENT_TIME will also be removed.
      
      boot_time is used to construct the nfs client boot verifier.
      
      Use ktime_t to represent boot_time and ktime_get_real() for
      the boot_time value.
      
      Following Trond's request https://lkml.org/lkml/2016/6/9/22 ,
      use ktime_t instead of converting to struct timespec64.
      
      Use higher and lower 32 bit parts of ktime_t for the boot
      verifier.
      
      Use the lower 32 bit part of ktime_t for the authsys_parms
      stamp field.
      Signed-off-by: NDeepa Dinamani <deepa.kernel@gmail.com>
      Reviewed-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Trond Myklebust <trond.myklebust@primarydata.com>
      Cc: Anna Schumaker <anna.schumaker@netapp.com>
      Cc: linux-nfs@vger.kernel.org
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      2f86e091
  13. 20 9月, 2016 2 次提交
  14. 06 7月, 2016 1 次提交
  15. 18 5月, 2016 2 次提交
  16. 05 4月, 2016 1 次提交
    • K
      mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros · 09cbfeaf
      Kirill A. Shutemov 提交于
      PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} macros were introduced *long* time
      ago with promise that one day it will be possible to implement page
      cache with bigger chunks than PAGE_SIZE.
      
      This promise never materialized.  And unlikely will.
      
      We have many places where PAGE_CACHE_SIZE assumed to be equal to
      PAGE_SIZE.  And it's constant source of confusion on whether
      PAGE_CACHE_* or PAGE_* constant should be used in a particular case,
      especially on the border between fs and mm.
      
      Global switching to PAGE_CACHE_SIZE != PAGE_SIZE would cause to much
      breakage to be doable.
      
      Let's stop pretending that pages in page cache are special.  They are
      not.
      
      The changes are pretty straight-forward:
      
       - <foo> << (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> <foo>;
      
       - <foo> >> (PAGE_CACHE_SHIFT - PAGE_SHIFT) -> <foo>;
      
       - PAGE_CACHE_{SIZE,SHIFT,MASK,ALIGN} -> PAGE_{SIZE,SHIFT,MASK,ALIGN};
      
       - page_cache_get() -> get_page();
      
       - page_cache_release() -> put_page();
      
      This patch contains automated changes generated with coccinelle using
      script below.  For some reason, coccinelle doesn't patch header files.
      I've called spatch for them manually.
      
      The only adjustment after coccinelle is revert of changes to
      PAGE_CAHCE_ALIGN definition: we are going to drop it later.
      
      There are few places in the code where coccinelle didn't reach.  I'll
      fix them manually in a separate patch.  Comments and documentation also
      will be addressed with the separate patch.
      
      virtual patch
      
      @@
      expression E;
      @@
      - E << (PAGE_CACHE_SHIFT - PAGE_SHIFT)
      + E
      
      @@
      expression E;
      @@
      - E >> (PAGE_CACHE_SHIFT - PAGE_SHIFT)
      + E
      
      @@
      @@
      - PAGE_CACHE_SHIFT
      + PAGE_SHIFT
      
      @@
      @@
      - PAGE_CACHE_SIZE
      + PAGE_SIZE
      
      @@
      @@
      - PAGE_CACHE_MASK
      + PAGE_MASK
      
      @@
      expression E;
      @@
      - PAGE_CACHE_ALIGN(E)
      + PAGE_ALIGN(E)
      
      @@
      expression E;
      @@
      - page_cache_get(E)
      + get_page(E)
      
      @@
      expression E;
      @@
      - page_cache_release(E)
      + put_page(E)
      Signed-off-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Acked-by: NMichal Hocko <mhocko@suse.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      09cbfeaf
  17. 24 11月, 2015 1 次提交
  18. 04 11月, 2015 2 次提交
  19. 16 10月, 2015 2 次提交
  20. 08 9月, 2015 1 次提交
  21. 28 8月, 2015 2 次提交