)]}'
{
  "log": [
    {
      "commit": "cf28b4863f9ee8f122e8ff3ac0d403e07ba9c6d9",
      "tree": "65c91f6911b34c32e517938289621ce0e7baeaf3",
      "parents": [
        "c32c2f63a9d6c953aaf168c0b2551da9734f76d2"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:09 2008 -0800"
      },
      "message": "d_path: Make d_path() use a struct path\n\nd_path() is used on a \u003cdentry,vfsmount\u003e pair.  Lets use a struct path to\nreflect this.\n\n[akpm@linux-foundation.org: fix build in mm/memory.c]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c32c2f63a9d6c953aaf168c0b2551da9734f76d2",
      "tree": "14eca3083f3de4a87a95359ab66109c10add1ae7",
      "parents": [
        "e83aece3afad4d56cc01abe069d3519e851cd2de"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "d_path: Make seq_path() use a struct path argument\n\nseq_path() is always called with a dentry and a vfsmount from a struct path.\nMake seq_path() take it directly as an argument.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e83aece3afad4d56cc01abe069d3519e851cd2de",
      "tree": "360f38ea9f656205941bc98aab93121b67f0a81f",
      "parents": [
        "5477549161480432d053565d2720f08626baf9e3"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "Use struct path in struct svc_expkey\n\nI\u0027m embedding struct path into struct svc_expkey.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5477549161480432d053565d2720f08626baf9e3",
      "tree": "0993666627a6f53f5c7cc9277a329760ccc1002d",
      "parents": [
        "448678a0f3cdd0157f00e98bd337e32030273637"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "Use struct path in struct svc_export\n\nI\u0027m embedding struct path into struct svc_export.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[ezk@cs.sunysb.edu: NFSD: fix wrong mnt_writer count in rename]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d957f9bf87da74f420424d16ece005202bbebd3",
      "tree": "363d4770c0c74a536524c99ccd2762ce96ee9bbe",
      "parents": [
        "4ac9137858e08a19f29feac4e1f4df7c268b0ba5"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Introduce path_put()\n\n* Add path_put() functions for releasing a reference to the dentry and\n  vfsmount of a struct path in the right order\n\n* Switch from path_release(nd) to path_put(\u0026nd-\u003epath)\n\n* Rename dput_path() to path_put_conditional()\n\n[akpm@linux-foundation.org: fix cifs]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: \u003clinux-fsdevel@vger.kernel.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ac9137858e08a19f29feac4e1f4df7c268b0ba5",
      "tree": "f5b5d84fd12fcc2b0ba0e7ce1a79ff381ad8f5dd",
      "parents": [
        "c5e725f33b733a77de622e91b6ba5645fcf070be"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:34:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:13:33 2008 -0800"
      },
      "message": "Embed a struct path into struct nameidata instead of nd-\u003e{dentry,mnt}\n\nThis is the central patch of a cleanup series. In most cases there is no good\nreason why someone would want to use a dentry for itself. This series reflects\nthat fact and embeds a struct path into nameidata.\n\nTogether with the other patches of this series\n- it enforced the correct order of getting/releasing the reference count on\n  \u003cdentry,vfsmount\u003e pairs\n- it prepares the VFS for stacking support since it is essential to have a\n  struct path in every place where the stack can be traversed\n- it reduces the overall code size:\n\nwithout patch series:\n   text    data     bss     dec     hex filename\n5321639  858418  715768 6895825  6938d1 vmlinux\n\nwith patch series:\n   text    data     bss     dec     hex filename\n5320026  858418  715768 6894212  693284 vmlinux\n\nThis patch:\n\nSwitch from nd-\u003e{dentry,mnt} to nd-\u003epath.{dentry,mnt} everywhere.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix cifs]\n[akpm@linux-foundation.org: fix smack]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f",
      "tree": "d4b17ef65960594681397a3acac02c2d248200b5",
      "parents": [
        "d1bc8e95445224276d7896b8b08cbb0b28a0ca80"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p)\n\nConvert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:\n\nperl -spi -e \u0027s/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\\1)/\u0027 `grep -rl \u0027ERR_PTR[(]*PTR_ERR\u0027 fs crypto net security`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e338d263a76af78fe8f38a72131188b58fceb591",
      "tree": "f3f046fc6fd66de43de7191830f0daf3bc4ec8eb",
      "parents": [
        "8f6936f4d29aa14e54a2470b954a2e1f96322988"
      ],
      "author": {
        "name": "Andrew Morgan",
        "email": "morgan@kernel.org",
        "time": "Mon Feb 04 22:29:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "Add 64-bit capability support to the kernel\n\nThe patch supports legacy (32-bit) capability userspace, and where possible\ntranslates 32-bit capabilities to/from userspace and the VFS to 64-bit\nkernel space capabilities.  If a capability set cannot be compressed into\n32-bits for consumption by user space, the system call fails, with -ERANGE.\n\nFWIW libcap-2.00 supports this change (and earlier capability formats)\n\n http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.6/\n\n[akpm@linux-foundation.org: coding-syle fixes]\n[akpm@linux-foundation.org: use get_task_comm()]\n[ezk@cs.sunysb.edu: build fix]\n[akpm@linux-foundation.org: do not initialise statics to 0 or NULL]\n[akpm@linux-foundation.org: unused var]\n[serue@us.ibm.com: export __cap_ symbols]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87d26ea7771ad637035e6bd5a2700d81ee9162da",
      "tree": "c1da6cd6fe03bfadb3276bd30423c7d4b105ef41",
      "parents": [
        "50431d94e732ba71b66a83c5435890728e313095"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 22 17:40:42 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "nfsd: more careful input validation in nfsctl write methods\n\nNeil Brown points out that we\u0027re checking buf[size-1] in a couple places\nwithout first checking whether size is zero.\n\nActually, given the implementation of simple_transaction_get(), buf[-1]\nis zero, so in both of these cases the subsequent check of the value of\nbuf[size-1] will catch this case.\n\nBut it seems fragile to depend on that, so add explicit checks for this\ncase.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f7b8066f9ff68016489ff6f9fb358aa59bd14e1b",
      "tree": "cf4e6e2d0cefcd9dcd44a65b11f5fcfb28c497c9",
      "parents": [
        "4b8449af75fa2e2d9736ec503a818be626a4e763"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jan 21 12:20:45 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "knfsd: don\u0027t bother mapping putrootfh enoent to eperm\n\nNeither EPERM and ENOENT map to valid errors for PUTROOTFH according to\nrfc 3530, and, if anything, ENOENT is likely to be slightly more\ninformative; so don\u0027t bother mapping ENOENT to EPERM.  (Probably this\nwas originally done because one likely cause was that there is an fsid\u003d0\nexport but that it isn\u0027t permitted to this particular client.  Now that\nwe allow WRONGSEC returns, this is somewhat less likely.)\n\nIn the long term we should work to make this situation less likely,\nperhaps by turning off nfsv4 service entirely in the absence of the\npseudofs root, or constructing a pseudofilesystem root ourselves in the\nkernel as necessary.\n\nThanks to Benny Halevy \u003cbhalevy@panasas.com\u003e for pointing out this\nproblem.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9571af18fa1e4a431dc6f6023ddbd87d1112fd5d",
      "tree": "d8eafdea71ea1c13fe9c733442d41857e17901ac",
      "parents": [
        "a217813f9067b785241cb7f31956e51d2071703a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:37 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "svc: Add svc_xprt_names service to replace svc_sock_names\n\nCreate a transport independent version of the svc_sock_names function.\n\nThe toclose capability of the svc_sock_names service can be implemented\nusing the svc_xprt_find and svc_xprt_close services.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a217813f9067b785241cb7f31956e51d2071703a",
      "tree": "5bda9ab6a461562975506d2100b16db19e3e628b",
      "parents": [
        "7fcb98d58cb4d18af6386f71025fc5192f25fbca"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:35 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "knfsd: Support adding transports by writing portlist file\n\nUpdate the write handler for the portlist file to allow creating new\nlistening endpoints on a transport. The general form of the string is:\n\n\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nThis is intended to support the creation of a listening endpoint for\nRDMA transports without adding #ifdef code to the nfssvc.c file.\n\nTransports can also be removed as follows:\n\n\u0027-\u0027\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"-tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nAttempting to add a listener with an invalid transport string results\nin EPROTONOSUPPORT and a perror string of \"Protocol not supported\".\n\nAttempting to remove an non-existent listener (.e.g. bad proto or port)\nresults in ENOTCONN and a perror string of\n\"Transport endpoint is not connected\"\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a18208383ab3f3ce4a1f4e0536acc9372523d81",
      "tree": "851a1cc29d753297c2e7cf4cb4a95c4af7868427",
      "parents": [
        "bb5cf160b282644c4491afbf76fbc66f5dc35030"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:53 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make close transport independent\n\nMove sk_list and sk_ready to svc_xprt. This involves close because these\nlists are walked by svcs when closing all their transports. So I combined\nthe moving of these lists to svc_xprt with making close transport independent.\n\nThe svc_force_sock_close has been changed to svc_close_all and takes a list\nas an argument. This removes some svc internals knowledge from the svcs.\n\nThis code races with module removal and transport addition.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "d7c9f1ed972b4a468dd24a2457721704dfe9ca70",
      "tree": "40cd2b38db79df4d90753b58789c3e4bc274095f",
      "parents": [
        "b700cbb11fced2a0e953fdd19eac07ffaad86598"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:44 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Change services to use new svc_create_xprt service\n\nModify the various kernel RPC svcs to use the svc_create_xprt service.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8838dc43d6544570e8969a74ddc4a0d21abffde6",
      "tree": "f3082dd80293fe5279d8ff993d2e0c17a0a2f2b4",
      "parents": [
        "b39c18fce003bb2d5a51a4734d8fdd2c81fa1a78"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jan 14 13:12:19 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd4: clean up access_valid, deny_valid checks.\n\nDocument these checks a little better and inline, as suggested by Neil\nBrown (note both functions have two callers).  Remove an obviously bogus\ncheck while we\u0027re there (checking whether unsigned value is negative).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "5c002b3bb294a637312cab7ad92a0deafa05a758",
      "tree": "0183f792fe61fe1bb6a117baf385020feb5b085c",
      "parents": [
        "29dbf546159f5701e11de26fa2da5c4a962e0f83"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 30 16:55:23 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd: allow root to set uid and gid on create\n\nThe server silently ignores attempts to set the uid and gid on create.\nBased on the comment, this appears to have been done to prevent some\noverly-clever IRIX client from causing itself problems.\n\nPerhaps we should remove that hack completely.  For now, at least, it\nmakes sense to allow root (when no_root_squash is set) to set uid and\ngid.\n\nWhile we\u0027re there, since nfsd_create and nfsd_create_v3 share the same\nlogic, pull that out into a separate function.  And spell out the\nindividual modifications of ia_valid instead of doing them both at once\ninside a conditional.\n\nThanks to Roger Willcocks \u003croger@filmlight.ltd.uk\u003e for the bug report\nand original patch on which this is based.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c",
      "tree": "bf3d7e7fe94343aad6a57a60917ebecfa64376e7",
      "parents": [
        "39325bd03fc16d903f1e0f51104436d939899c8c"
      ],
      "author": {
        "name": "Frank Filz",
        "email": "ffilzlnx@us.ibm.com",
        "time": "Tue Nov 27 11:34:05 2007 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: Allow AIX client to read dir containing mountpoints\n\nThis patch addresses a compatibility issue with a Linux NFS server and\nAIX NFS client.\n\nI have exported /export as fsid\u003d0 with sec\u003dkrb5:krb5i\nI have mount --bind /home onto /export/home\nI have exported /export/home with sec\u003dkrb5i\n\nThe AIX client mounts / -o sec\u003dkrb5:krb5i onto /mnt\n\nIf I do an ls /mnt, the AIX client gets a permission error. Looking at\nthe network traceIwe see a READDIR looking for attributes\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID. The response gives a\nNFS4ERR_WRONGSEC which the AIX client is not expecting.\n\nSince the AIX client is only asking for an attribute that is an\nattribute of the parent file system (pseudo root in my example), it\nseems reasonable that there should not be an error.\n\nIn discussing this issue with Bruce Fields, I initially proposed\nignoring the error in nfsd4_encode_dirent_fattr() if all that was being\nasked for was FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID, however,\nBruce suggested that we avoid calling cross_mnt() if only these\nattributes are requested.\n\nThe following patch implements bypassing cross_mnt() if only\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID are called. Since there\nis some complexity in the code in nfsd4_encode_fattr(), I didn\u0027t want to\nduplicate code (and introduce a maintenance nightmare), so I added a\nparameter to nfsd4_encode_fattr() that indicates whether it should\nignore cross mounts and simply fill in the attribute using the passed in\ndentry as opposed to it\u0027s parent.\n\nSigned-off-by: Frank Filz \u003cffilzlnx@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "39325bd03fc16d903f1e0f51104436d939899c8c",
      "tree": "de63f3c58a3b82d26223e4dfdda1a98570c5a84a",
      "parents": [
        "b7e6b86948df8d08d420558212e09eb449be9bfa"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 26 17:06:39 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: fix bad seqid on lock request incompatible with open mode\n\nThe failure to return a stateowner from nfs4_preprocess_seqid_op() means\nin the case where a lock request is of a type incompatible with an open\n(due to, e.g., an application attempting a write lock on a file open for\nread), means that fs/nfsd/nfs4xdr.c:ENCODE_SEQID_OP_TAIL() never bumps\nthe seqid as it should.  The client, attempting to close the file\nafterwards, then gets an (incorrect) bad sequence id error.  Worse, this\nprevents the open file from ever being closed, so we leak state.\n\nThanks to Benny Halevy and Trond Myklebust for analysis, and to Steven\nWilton for the report and extensive data-gathering.\n\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Steven Wilton \u003csteven.wilton@team.eftel.com.au\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "404ec117be5d36e1a4c4582d0c518594333e32df",
      "tree": "cdae7b67f896c93130a6a669ca65cffc94079b07",
      "parents": [
        "35bba9a37e68c68a820a1a772f016255c0838f79"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 23 22:26:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: recognize callback channel failure earlier\n\nWhen the callback channel fails, we inform the client of that by\nreturning a cb_path_down error the next time it tries to renew its\nlease.\n\nIf we wait most of a lease period before deciding that a callback has\nfailed and that the callback channel is down, then we decrease the\nchances that the client will find out in time to do anything about it.\n\nSo, mark the channel down as soon as we recognize that an rpc has\nfailed.  However, continue trying to recall delegations anyway, in hopes\nit will come back up.  This will prevent more delegations from being\ngiven out, and ensure cb_path_down is returned to renew calls earlier,\nwhile still making the best effort to deliver recalls of existing\ndelegations.\n\nAlso fix a couple comments and remove a dprink that doesn\u0027t seem likely\nto be useful.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "35bba9a37e68c68a820a1a772f016255c0838f79",
      "tree": "d858441a8afb4197ef414b9826279b351c843803",
      "parents": [
        "5ec7b46c2f4a6f5e136188d598a3f9912ca922e9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 22:07:08 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: miscellaneous nfs4state.c style fixes\n\nFix various minor style violations.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5ec7b46c2f4a6f5e136188d598a3f9912ca922e9",
      "tree": "4bfd4cb5faeba04203db8a011f8b358fb719118c",
      "parents": [
        "99d965eda736b839a63fe85438ee03a0f660053c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 21:58:56 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: make current_clientid local\n\nDeclare this variable in the one function where it\u0027s used, and clean up\nsome minor style problems.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "99d965eda736b839a63fe85438ee03a0f660053c",
      "tree": "914a6bdd17350fce73f3313fbdfd990500861c67",
      "parents": [
        "366e0c1d9116ed03320779ecf9c162204f4c712e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 14:10:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: fix encode_entryplus_baggage() indentation\n\nFix bizarre indentation.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "366e0c1d9116ed03320779ecf9c162204f4c712e",
      "tree": "5610f88a5a98d1ba4544d7ed18a9d497f3c63228",
      "parents": [
        "f3aba4e5a1b963c8bd43394cb15fb9fb6a229cd2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 15:54:10 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: kill unneeded cl_confirm check\n\nWe generate a unique cl_confirm for every new client; so if we\u0027ve\nalready checked that this cl_confirm agrees with the cl_confirm of\nunconf, then we already know that it does not agree with the cl_confirm\nof conf.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f3aba4e5a1b963c8bd43394cb15fb9fb6a229cd2",
      "tree": "9d4ad0e722f4266bac28450ca7a511eee9c22a5f",
      "parents": [
        "f394baad139f8a67a40b4246d53d3b818af2eb88"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 16:52:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: remove unnecessary cl_verifier check from setclientid_confirm\n\nAgain, the only way conf and unconf can have the same clientid is if\nthey were created in the \"probable callback update\" case of setclientid,\nin which case we already know that the cl_verifier fields must agree.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f394baad139f8a67a40b4246d53d3b818af2eb88",
      "tree": "2f0f37f2803549dcf8011a65b0944e373c1321e0",
      "parents": [
        "deda2faa8e71474c828d8eefc8bc0f19d02062ef"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 15:39:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: kill unnecessary same_name() in setclientid_confirm\n\nIf conf and unconf are both found in the lookup by cl_clientid, then\nthey share the same cl_clientid.  We always create a unique new\ncl_clientid field when creating a new client--the only exception is the\n\"probable callback update\" case in setclientid, where we copy the old\ncl_clientid from another clientid with the same name.\n\nTherefore two clients with the same cl_client field also always share\nthe same cl_name field, and a couple of the checks here are redundant.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "deda2faa8e71474c828d8eefc8bc0f19d02062ef",
      "tree": "72344206dd12a189e466cde3b479d6dc5ae09843",
      "parents": [
        "49ba87811f34a0219dc7a373cd24aa68450f2058"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 19 20:31:04 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: uniquify cl_confirm values\n\nUsing a counter instead of the nanoseconds value seems more likely to\nproduce a unique cl_confirm.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "49ba87811f34a0219dc7a373cd24aa68450f2058",
      "tree": "c0e50e1378d002c5346451f3bf0aa031f893ff20",
      "parents": [
        "a186e767473bd329122f0229b91573b9b6fa43c1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 19 19:09:50 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: eliminate final bogus case from setclientid logic\n\nWe\u0027re supposed to generate a different cl_confirm verifier for each new\nclient, so these to cl_confirm values should never be the same.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a186e767473bd329122f0229b91573b9b6fa43c1",
      "tree": "6da5778f93eb11c706b9ae202769cf883f17548c",
      "parents": [
        "1f69f172c73a2bf0bf55da9346da8dccea9035cf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 16:11:27 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: kill some unneeded setclientid comments\n\nMost of these comments just summarize the code.\n\nThe matching of code to the cases described in the RFC may still be\nuseful, though; add specific section references to make that easier to\nfollow.  Also update references to the outdated RFC 3010.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1f69f172c73a2bf0bf55da9346da8dccea9035cf",
      "tree": "4e0f04634415052ef0978168b6b737565b3f36bd",
      "parents": [
        "2e8138a274d81d87591db0803b1e81f4284ff935"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 15 17:06:58 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: minor fs/nfsd/auth.h cleanup\n\nWhile we\u0027re here, let\u0027s remove the redundant (and now wrong) pathname in\nthe comment, and the #ifdef __KERNEL__\u0027s.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2e8138a274d81d87591db0803b1e81f4284ff935",
      "tree": "3243d448d11cdee1ec4ff2b190509ef70887b566",
      "parents": [
        "dbf847ecb6318d3a22c6758fe39696d00f39063a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 15 17:05:43 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: move nfsd/auth.h into fs/nfsd\n\nThis header is used only in a few places in fs/nfsd, so there seems to\nbe little point to having it in include/.  (Thanks to Robert Day for\npointing this out.)\n\nCc: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dbf847ecb6318d3a22c6758fe39696d00f39063a",
      "tree": "2b71e776ca98bc94258f3539bd7f0ea53d2733a8",
      "parents": [
        "ffe9386b6e08e7132cb7730025d0ea310e08a182"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 17:20:34 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "knfsd: allow cache_register to return error on failure\n\nNewer server features such as nfsv4 and gss depend on proc to work, so a\nfailure to initialize the proc files they need should be treated as\nfatal.\n\nThanks to Andrew Morton for style fix and compile fix in case where\nCONFIG_NFSD_V4 is undefined.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e331f606a85a2a9e84e9c63c94d43c0517136139",
      "tree": "988f2d450ee49279f7abbce2fdd27801ca24904b",
      "parents": [
        "440bcc592052e42c7050a51489c65e18df4a0636"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 17:32:21 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: fail init on /proc/fs/nfs/exports creation failure\n\nI assume the reason failure of creation was ignored here was just to\ncontinue support embedded systems that want nfsd but not proc.\n\nHowever, in cases where proc is supported it would be clearer to fail\nentirely than to come up with some features disabled.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "df95a9d4fb91d819d3fb55dd437056df59e7f15e",
      "tree": "9c35b2617a202c029803791c19d55a0483d9d225",
      "parents": [
        "d5c3428b2cb26d605fddc4878f4fcc03c23df89f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 16:09:59 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "knfsd: cache unregistration needn\u0027t return error\n\nThere\u0027s really nothing much the caller can do if cache unregistration\nfails.  And indeed, all any caller does in this case is print an error\nand continue.  So just return void and move the printk\u0027s inside\ncache_unregister.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d5c3428b2cb26d605fddc4878f4fcc03c23df89f",
      "tree": "b476ca0b6709b65044f222912f2fdd2efbdcf297",
      "parents": [
        "26808d3f10b1213bbb6e27d441be40e20ab84611"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 14:10:56 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: fail module init on reply cache init failure\n\nIf the reply cache initialization fails due to a kmalloc failure,\ncurrently we try to soldier on with a reduced (or nonexistant) reply\ncache.\n\nBetter to just fail immediately: the failure is then much easier to\nunderstand and debug, and it could save us complexity in some later\ncode.  (But actually, it doesn\u0027t help currently because the cache is\nalso turned off in some odd failure cases; we should probably find a\nbetter way to handle those failure cases some day.)\n\nFix some minor style problems while we\u0027re at it, and rename\nnfsd_cache_init() to remove the need for a comment describing it.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "26808d3f10b1213bbb6e27d441be40e20ab84611",
      "tree": "38b2769d479a8cd44f2e242ef1f16b395fdf4997",
      "parents": [
        "46b25895767c606c630a97b03a895934a7a36a70"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 13:44:06 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "nfsd: cleanup nfsd module initialization cleanup\n\nHandle the failure case here with something closer to the standard\nkernel style.\n\nDoesn\u0027t really matter for now, but I\u0027d like to add a few more failure\ncases, and then this\u0027ll help.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46b25895767c606c630a97b03a895934a7a36a70",
      "tree": "94c8c9361fe1d82b3d803e3297eeeb9f4984e62c",
      "parents": [
        "ca2a05aa7c72309ee65164c78fa2be7a5038215e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 12:31:55 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "knfsd: cleanup nfsd4 properly on module init failure\n\nWe forgot to shut down the nfs4 state and idmapping code in this case.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ca2a05aa7c72309ee65164c78fa2be7a5038215e",
      "tree": "f362d7c14652dfea0d93508007f8fc87d10d6980",
      "parents": [
        "a490c681cbcf65d548138c377bb691c85824d323"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Nov 11 15:43:12 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "nfsd: Fix handling of negative lengths in read_buf()\n\nThe length \"nbytes\" passed into read_buf should never be negative, but\nwe check only for too-large values of \"nbytes\", not for too-small\nvalues.  Make nbytes unsigned, so it\u0027s clear that the former tests are\nsufficient.  (Despite this read_buf() currently correctly returns an xdr\nerror in the case of a negative length, thanks to an unsigned\ncomparison with size_of() and bounds-checking in kmalloc().  This seems\nvery fragile, though.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a628f6675861d979405f751418e924c4ec7d457d",
      "tree": "09281fd445da7841b890a626004abb012c06debd",
      "parents": [
        "9c7544d3a195cde33b3d1e46639b23c221f901db"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:20 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Fix mixed sign comparison in nfs3svc_decode_symlinkargs\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9c7544d3a195cde33b3d1e46639b23c221f901db",
      "tree": "e7e40b375facc363268be3794f03fea5d2c57c20",
      "parents": [
        "5a022fc8700cadbac373766cf1b5c746ffec7164"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:14 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Use unsigned length argument for decode_pathname\n\nClean up: path name lengths are unsigned on the wire, negative lengths\nare not meaningful natively either.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5a022fc8700cadbac373766cf1b5c746ffec7164",
      "tree": "9af2b088a6075df55adb5165f790f7de52d29449",
      "parents": [
        "29d5e5553826d05b8ecda51c21787ce85efdef06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:09 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Adjust filename length argument of nfsd_lookup\n\nClean up: adjust the sign of the length argument of nfsd_lookup and\nnfsd_lookup_dentry, for consistency with recent changes.  NFSD version\n4 callers already pass an unsigned file name length.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ee1a95b3b3fccf3c825bd95f89a8e006901b03ed",
      "tree": "6b690c38cd2d2e9ef782dc1150d2cfccb205dd2f",
      "parents": [
        "48df020aa17ac95a012ff765b0086ede5996b320"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:58 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NFSD: Use unsigned length argument for decode_filename\n\nClean up: file name lengths are unsigned on the wire, negative lengths\nare not meaningful natively either.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d4395e03fec0895d01451904b8a2276ceda663c9",
      "tree": "b4dd510ce3aa21a8f055d189e77b8047d162fa2d",
      "parents": [
        "aefa89d178e6dd83889b66d4e800d4d77363900b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Oct 26 13:32:50 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "knfsd: fix broken length check in nfs4idmap.c\n\nObviously at some point we thought \"error\" represented the length when\npositive.  This appears to be a long-standing typo.\n\nThanks to Prasad Potluri \u003cpvp@us.ibm.com\u003e for finding the problem and\nproposing an earlier version of this patch.\n\nCc: Steve French \u003csmfltc@us.ibm.com\u003e\nCc: Prasad V Potluri \u003cpvp@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "aefa89d178e6dd83889b66d4e800d4d77363900b",
      "tree": "8b4c68d21af0d3342905f6fa58d3af231004a317",
      "parents": [
        "63c86716ea34ad94d52e5b0abbda152574dc42b5"
      ],
      "author": {
        "name": "Prasad P",
        "email": "pvp@us.ibm.com",
        "time": "Wed Oct 24 15:14:32 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd: Fix inconsistent assignment\n\nDereferenced pointer \"dentry\" without checking and assigned to inode\nin the declaration.\n\n(We could just delete the NULL checks that follow instead, as we never\nget to the encode function in this particular case.  But it takes a\nlittle detective work to verify that fact, so it\u0027s probably safer to\nleave the checks in place.)\n\nCc: Steve French \u003csmfltc@us.ibm.com\u003e\nSigned-off-by: Prasad V Potluri \u003cpvp@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "63c86716ea34ad94d52e5b0abbda152574dc42b5",
      "tree": "c92ceed9f40f43dc79e099a1f3d4da99d6f985b6",
      "parents": [
        "46f8a64bae11f5c9b15b4401f6e9863281999b66"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Oct 25 19:00:26 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd: move callback rpc_client creation into separate thread\n\nThe whole reason to move this callback-channel probe into a separate\nthread was because (for now) we don\u0027t have an easy way to create the\nrpc_client asynchronously.  But I forgot to move the rpc_create() to the\nspawned thread.  Doh!  Fix that.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46f8a64bae11f5c9b15b4401f6e9863281999b66",
      "tree": "aea712834e9a12a43772de61c1f6af0dc2ea1b57",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 22 13:54:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd4: probe callback channel only once\n\nOur callback code doesn\u0027t actually handle concurrent attempts to probe\nthe callback channel.  Some rethinking of the locking may be required.\nHowever, we can also just move the callback probing to this case.  Since\nthis is the only time a client is \"confirmed\" (and since that can only\nhappen once in the lifetime of a client), this ensures we only probe\nonce.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ba67a39efde8312e386c6f603054f8945433d91f",
      "tree": "a804a00351abf9f81f26f679f0cbaaedba2eb188",
      "parents": [
        "84427eaef1fb91704c7112bdb598c810003b99f3"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 11 17:06:52 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jan 13 09:57:57 2008 -0800"
      },
      "message": "knfsd: Allow NFSv2/3 WRITE calls to succeed when krb5i etc is used.\n\nWhen RPCSEC/GSS and krb5i is used, requests are padded, typically to a multiple\nof 8 bytes.  This can make the request look slightly longer than it\nreally is.\n\nAs of\n\n\tf34b95689d2ce001c \"The NFSv2/NFSv3 server does not handle zero\n\t\tlength WRITE request correctly\",\n\nthe xdr decode routines for NFSv2 and NFSv3 reject requests that aren\u0027t\nthe right length, so krb5i (for example) WRITE requests can get lost.\n\nThis patch relaxes the appropriate test and enhances the related comment.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Peter Staubach \u003cstaubach@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6fa02839bf9412e18e773d04e96182b4cd0b5d57",
      "tree": "063ee35d4da2bd1289ae9e9a64b5f02c825ef5f2",
      "parents": [
        "ac8587dcb58e40dd336d99d60f852041e06cc3dd"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 16:05:03 2007 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Nov 12 14:28:08 2007 -0800"
      },
      "message": "nfsd4: recheck for secure ports in fh_verify\n\nAs with commit 7fc90ec93a5eb71f4b08403baf5ba7176b3ec6b1 (\"knfsd: nfsd:\ncall nfsd_setuser() on fh_compose(), fix nfsd4 permissions problem\")\nthis is a case where we need to redo a security check in fh_verify()\neven though the filehandle already has an associated dentry--if the\nfilehandle was created by fh_compose() in an earlier operation of the\nnfsv4 compound, then we may not have done these checks yet.\n\nWithout this fix it is possible, for example, to traverse from an export\nwithout the secure ports requirement to one with it in a single\ncompound, and bypass the secure port check on the new export.\n\nWhile we\u0027re here, fix up some minor style problems and change a printk()\nto a dprintk(), to make it harder for random unprivileged users to spam\nthe logs.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nReviewed-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac8587dcb58e40dd336d99d60f852041e06cc3dd",
      "tree": "589891a22f61772f961cc68f9d16e9236b51f1fb",
      "parents": [
        "44048d700bcbfaf4bcca6e2e0a73d89d01ec0878"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 16:05:02 2007 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Nov 12 14:28:08 2007 -0800"
      },
      "message": "knfsd: fix spurious EINVAL errors on first access of new filesystem\n\nThe v2/v3 acl code in nfsd is translating any return from fh_verify() to\nnfserr_inval.  This is particularly unfortunate in the case of an\nnfserr_dropit return, which is an internal error meant to indicate to\ncallers that this request has been deferred and should just be dropped\npending the results of an upcall to mountd.\n\nThanks to Roland \u003cdevzero@web.de\u003e for bug report and data collection.\n\nCc: Roland \u003cdevzero@web.de\u003e\nAcked-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nReviewed-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87ae9afdcada236d0a1b38ce2c465a65916961dc",
      "tree": "c885e589ff66daf4f860b19818228edb75b29530",
      "parents": [
        "013fb33972061ac65cdf3e1771267985e59deca1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Oct 30 10:35:04 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Nov 02 08:47:06 2007 +0100"
      },
      "message": "cleanup asm/scatterlist.h includes\n\nNot architecture specific code should not #include \u003casm/scatterlist.h\u003e.\n\nThis patch therefore either replaces them with\n#include \u003clinux/scatterlist.h\u003e or simply removes them if they were\nunused.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "69450bb5eb8e9df28281c62f98e971c9969dc4ff",
      "tree": "85991e6e8b74cb08b5013fd7e419c3df67d23e35",
      "parents": [
        "e38f981758118d829cd40cfe9c09e3fa81e422aa",
        "d6ec084200c37683278c821338f74ddf21ab80f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 19:11:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 19:11:06 2007 -0700"
      },
      "message": "Merge branch \u0027sg\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027sg\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Add CONFIG_DEBUG_SG sg validation\n  Change table chaining layout\n  Update arch/ to use sg helpers\n  Update swiotlb to use sg helpers\n  Update net/ to use sg helpers\n  Update fs/ to use sg helpers\n  [SG] Update drivers to use sg helpers\n  [SG] Update crypto/ to sg helpers\n  [SG] Update block layer to use sg helpers\n  [SG] Add helpers for manipulating SG entries\n"
    },
    {
      "commit": "60c74f81933635bb4ccb4ee6f31909c51f5cd230",
      "tree": "1c8370b66d34d86598070e571f8935f5ff98fadb",
      "parents": [
        "45711f1af6eff1a6d010703b4862e0d2b9afd056"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 19:43:30 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 22 21:19:55 2007 +0200"
      },
      "message": "Update fs/ to use sg helpers\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cfaea787c05822acbb4d8963baee5edd1cc0258f",
      "tree": "471ab4a45baa9c2dd6423c345a1668366b6846fc",
      "parents": [
        "644f9ab3b0aa386820ce709de747d46b4cece16f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:21 2007 -0700"
      },
      "message": "exportfs: remove old methods\n\nNow that all filesystems are converted remove support for the old methods.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Timothy Shimmin \u003ctes@sgi.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e91ea2bb0b6a3ddf6d4faeb54a9c20d4e20bc42",
      "tree": "3f20a72d6c36620d071c485206b39e2e32546fc6",
      "parents": [
        "00bf4098beb15ca174b54f3af1f1e1908d7d18a3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 21 16:42:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 22 08:13:19 2007 -0700"
      },
      "message": "exportfs: add fid type\n\nThis patchset is a medium scale rewrite of the export operations interface.\nThe goal is to make the interface less complex, and easier to understand from\nthe filesystem side, aswell as preparing generic support for exporting of\n64bit inode numbers.\n\nThis touches all nfs exporting filesystems, and I\u0027ve done testing on all of\nthe filesystems I have here locally (xfs, ext2, ext3, reiserfs, jfs)\n\nThis patch:\n\nAdd a structured fid type so that we don\u0027t have to pass an array of u32 values\naround everywhere.  It\u0027s a union of possible layouts.\n\nAs a start there\u0027s only the u32 array and the traditional 32bit inode format,\nbut there will be more in one of my next patchset when I start to document the\nvarious filehandle formats we have in lowlevel filesystems better.\n\nAlso add an enum that gives the various filehandle types human- readable\nnames.\n\nNote: Some people might think the struct containing an anonymous union is\nugly, but I didn\u0027t want to pass around a raw union type.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Timothy Shimmin \u003ctes@sgi.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \"Vladimir V. Saveliev\" \u003cvs@namesys.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a0ce7d99a4d19788e017f3138bc59b9962057ae",
      "tree": "07b61f8760081e377274f055e0433dc1695b6549",
      "parents": [
        "1ac564ecabc777636cf4eb88840802d7dc57d286"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Oct 18 03:05:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:22 2007 -0700"
      },
      "message": "knfsd: only set ATTR_KILL_S*ID if ATTR_MODE isn\u0027t being explicitly set\n\nIt\u0027s theoretically possible for a single SETATTR call to come in that sets the\nmode and the uid/gid.  In that case, don\u0027t set the ATTR_KILL_S*ID bits since\nthat would trip the BUG() in notify_change.  Just fix up the mode to have the\nsame effect.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b53767719b6cd8789392ea3e7e2eb7b8906898f0",
      "tree": "a0279dc93c79b94d3865b0f19f6b7b353e20608c",
      "parents": [
        "57c521ce6125e15e99e56c902cb8da96bee7b36d"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Oct 16 23:31:36 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:07 2007 -0700"
      },
      "message": "Implement file posix capabilities\n\nImplement file posix capabilities.  This allows programs to be given a\nsubset of root\u0027s powers regardless of who runs them, without having to use\nsetuid and giving the binary all of root\u0027s powers.\n\nThis version works with Kaigai Kohei\u0027s userspace tools, found at\nhttp://www.kaigai.gr.jp/index.php.  For more information on how to use this\npatch, Chris Friedhoff has posted a nice page at\nhttp://www.friedhoff.org/fscaps.html.\n\nChangelog:\n\tNov 27:\n\tIncorporate fixes from Andrew Morton\n\t(security-introduce-file-caps-tweaks and\n\tsecurity-introduce-file-caps-warning-fix)\n\tFix Kconfig dependency.\n\tFix change signaling behavior when file caps are not compiled in.\n\n\tNov 13:\n\tIntegrate comments from Alexey: Remove CONFIG_ ifdef from\n\tcapability.h, and use %zd for printing a size_t.\n\n\tNov 13:\n\tFix endianness warnings by sparse as suggested by Alexey\n\tDobriyan.\n\n\tNov 09:\n\tAddress warnings of unused variables at cap_bprm_set_security\n\twhen file capabilities are disabled, and simultaneously clean\n\tup the code a little, by pulling the new code into a helper\n\tfunction.\n\n\tNov 08:\n\tFor pointers to required userspace tools and how to use\n\tthem, see http://www.friedhoff.org/fscaps.html.\n\n\tNov 07:\n\tFix the calculation of the highest bit checked in\n\tcheck_cap_sanity().\n\n\tNov 07:\n\tAllow file caps to be enabled without CONFIG_SECURITY, since\n\tcapabilities are the default.\n\tHook cap_task_setscheduler when !CONFIG_SECURITY.\n\tMove capable(TASK_KILL) to end of cap_task_kill to reduce\n\taudit messages.\n\n\tNov 05:\n\tAdd secondary calls in selinux/hooks.c to task_setioprio and\n\ttask_setscheduler so that selinux and capabilities with file\n\tcap support can be stacked.\n\n\tSep 05:\n\tAs Seth Arnold points out, uid checks are out of place\n\tfor capability code.\n\n\tSep 01:\n\tDefine task_setscheduler, task_setioprio, cap_task_kill, and\n\ttask_setnice to make sure a user cannot affect a process in which\n\tthey called a program with some fscaps.\n\n\tOne remaining question is the note under task_setscheduler: are we\n\tok with CAP_SYS_NICE being sufficient to confine a process to a\n\tcpuset?\n\n\tIt is a semantic change, as without fsccaps, attach_task doesn\u0027t\n\tallow CAP_SYS_NICE to override the uid equivalence check.  But since\n\tit uses security_task_setscheduler, which elsewhere is used where\n\tCAP_SYS_NICE can be used to override the uid equivalence check,\n\tfixing it might be tough.\n\n\t     task_setscheduler\n\t\t note: this also controls cpuset:attach_task.  Are we ok with\n\t\t     CAP_SYS_NICE being used to confine to a cpuset?\n\t     task_setioprio\n\t     task_setnice\n\t\t sys_setpriority uses this (through set_one_prio) for another\n\t\t process.  Need same checks as setrlimit\n\n\tAug 21:\n\tUpdated secureexec implementation to reflect the fact that\n\teuid and uid might be the same and nonzero, but the process\n\tmight still have elevated caps.\n\n\tAug 15:\n\tHandle endianness of xattrs.\n\tEnforce capability version match between kernel and disk.\n\tEnforce that no bits beyond the known max capability are\n\tset, else return -EPERM.\n\tWith this extra processing, it may be worth reconsidering\n\tdoing all the work at bprm_set_security rather than\n\td_instantiate.\n\n\tAug 10:\n\tAlways call getxattr at bprm_set_security, rather than\n\tcaching it at d_instantiate.\n\n[morgan@kernel.org: file-caps clean up for linux/capability.h]\n[bunk@kernel.org: unexport cap_inode_killpriv]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Andrew Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Andrew Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8754beedbdc56864bc5f8c9461929a9b328b899",
      "tree": "a5748167a26b741af9b916a30c686a79312486a3",
      "parents": [
        "c7eb26678e59f16f4e84f1176d187cd21a27414d"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Tue Oct 16 23:31:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:05 2007 -0700"
      },
      "message": "r/o bind mounts: create cleanup helper svc_msnfs()\n\nI\u0027m going to be modifying nfsd_rename() shortly to support read-only bind\nmounts.  This #ifdef is around the area I\u0027m patching, and it starts to get\nreally ugly if I just try to add my new code by itself.  Using this little\nhelper makes things a lot cleaner to use.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cce76f9b9696a59974be9ed43478c000c57e597a",
      "tree": "b7b6f64c1c175a569411c39f57d86f41e6b3e652",
      "parents": [
        "e8a285b7b10029c3da7e9bbaa1659e7e08178912"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 16 01:27:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:43:10 2007 -0700"
      },
      "message": "fs/nfsd/export.c: make 3 functions static\n\nThis patch makes the following needlessly global functions static:\n- exp_get_by_name()\n- exp_parent()\n- exp_find()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "541010e4b8921cd781ff02ae68028501457045b6",
      "tree": "58bd529d4c6e69899a0aa20afa2d7f1c23326417",
      "parents": [
        "e457f790d8b05977853aa238bbc667b3bb375671",
        "5e7fc436426b1f9e106f511a049de91c82ec2c53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 16:07:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 16:07:40 2007 -0700"
      },
      "message": "Merge branch \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: remove IS_ISMNDLCK macro\n  Rework /proc/locks via seq_files and seq_list helpers\n  fs/locks.c: use list_for_each_entry() instead of list_for_each()\n  NFS: clean up explicit check for mandatory locks\n  AFS: clean up explicit check for mandatory locks\n  9PFS: clean up explicit check for mandatory locks\n  GFS2: clean up explicit check for mandatory locks\n  Cleanup macros for distinguishing mandatory locks\n  Documentation: move locks.txt in filesystems/\n  locks: add warning about mandatory locking races\n  Documentation: move mandatory locking documentation to filesystems/\n  locks: Fix potential OOPS in generic_setlease()\n  Use list_first_entry in locks_wake_up_blocks\n  locks: fix flock_lock_file() comment\n  Memory shortage can result in inconsistent flocks state\n  locks: kill redundant local variable\n  locks: reverse order of posix_locks_conflict() arguments\n"
    },
    {
      "commit": "f4921aff5b174349bc36551f142a5dbac782ea3f",
      "tree": "bdff8ca1531977ad1d04ac8d70e10f8dfbb26c38",
      "parents": [
        "419217cb1d0266f62cbea6cdc6b1d1324350bc34",
        "05c88babab957dfd63bd351b25042d80bd854dd0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 10:46:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 15 10:47:35 2007 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6: (131 commits)\n  NFSv4: Fix a typo in nfs_inode_reclaim_delegation\n  NFS: Add a boot parameter to disable 64 bit inode numbers\n  NFS: nfs_refresh_inode should clear cache_validity flags on success\n  NFS: Fix a connectathon regression in NFSv3 and NFSv4\n  NFS: Use nfs_refresh_inode() in ops that aren\u0027t expected to change the inode\n  SUNRPC: Don\u0027t call xprt_release in call refresh\n  SUNRPC: Don\u0027t call xprt_release() if call_allocate fails\n  SUNRPC: Fix buggy UDP transmission\n  [23/37] Clean up duplicate includes in\n  [2.6 patch] net/sunrpc/rpcb_clnt.c: make struct rpcb_program static\n  SUNRPC: Use correct type in buffer length calculations\n  SUNRPC: Fix default hostname created in rpc_create()\n  nfs: add server port to rpc_pipe info file\n  NFS: Get rid of some obsolete macros\n  NFS: Simplify filehandle revalidation\n  NFS: Ensure that nfs_link() returns a hashed dentry\n  NFS: Be strict about dentry revalidation when doing exclusive create\n  NFS: Don\u0027t zap the readdir caches upon error\n  NFS: Remove the redundant nfs_reval_fsid()\n  NFSv3: Always use directory post-op attributes in nfs3_proc_lookup\n  ...\n\nFix up trivial conflict due to sock_owned_by_user() cleanup manually in\nnet/sunrpc/xprtsock.c\n"
    },
    {
      "commit": "5e7fc436426b1f9e106f511a049de91c82ec2c53",
      "tree": "e81390d24654d62a49091db2ba8084c08b61e9e3",
      "parents": [
        "7f8ada98d9edd83d6ebd01e431e15b024a4a3dc4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 02 14:18:12 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:32:46 2007 -0400"
      },
      "message": "nfsd: remove IS_ISMNDLCK macro\n\nThis macro is only used in one place; in this place it seems simpler to\nput open-code it and move the comment to where it\u0027s used.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a16877ca9cec211708a161057a7cbfbf2cbc3a53",
      "tree": "a114bfe588af58047b1eb2aa1f57ac4b890c01a6",
      "parents": [
        "98257af5a2ad0c5b502ebd07094d9fd8ce87acef"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 01 14:41:11 2007 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:32:46 2007 -0400"
      },
      "message": "Cleanup macros for distinguishing mandatory locks\n\nThe combination of S_ISGID bit set and S_IXGRP bit unset is used to mark the\ninode as \"mandatory lockable\" and there\u0027s a macro for this check called\nMANDATORY_LOCK(inode).  However, fs/locks.c and some filesystems still perform\nthe explicit i_mode checking.  Besides, Andrew pointed out, that this macro is\nbuggy itself, as it dereferences the inode arg twice.\n\nConvert this macro into static inline function and switch its users to it,\nmaking the code shorter and more readable.\n\nThe __mandatory_lock() helper is to be used in places where the IS_MANDLOCK()\nfor superblock is already known to be true.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a16e92edcd0a2846455a30823e1bac964e743baa",
      "tree": "50893238dcccb1bcfc6c1160c3db4887d2f08eea",
      "parents": [
        "cfdcad4da1903720b9b8c1f176e46a0ebf546be3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Sep 28 16:45:51 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: query filesystem for NFSv4 getattr of FATTR4_MAXNAME\n\nWithout this we always return 2^32-1 as the the maximum namelength.\n\nThanks to Andreas Gruenbacher for bug report and testing.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Andreas Gruenbacher \u003cagruen@suse.de\u003e\n"
    },
    {
      "commit": "cfdcad4da1903720b9b8c1f176e46a0ebf546be3",
      "tree": "8c8b12074a5d197c427c4907f41492d556da2dd5",
      "parents": [
        "1b1a9b3163a83f52ea2ac333846d4dfd2c4edd90"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Sep 12 20:35:15 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: nfsv4 delegation recall should take reference on client\n\nIt\u0027s not enough to take a reference on the delegation object itself; we\nneed to ensure that the rpc_client won\u0027t go away just as we\u0027re about to\nmake an rpc call.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1b1a9b3163a83f52ea2ac333846d4dfd2c4edd90",
      "tree": "bfaaa512b4efa08bed800330f654ba9637dd2f58",
      "parents": [
        "0272e1fd9f4fa8a43357c168e081744f99e67195"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Sep 12 08:43:59 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: don\u0027t shutdown callbacks until nfsv4 client is freed\n\nIf a callback still holds a reference on the client, then it may be\nabout to perform an rpc call, so it isn\u0027t safe to call rpc_shutdown().\n(Though rpc_shutdown() does wait for any outstanding rpc\u0027s, it can\u0027t\nknow if a new rpc is about to be issued with that client.)\n\nSo, wait to shutdown the rpc_client until the reference count on the\nclient has gone to zero.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0272e1fd9f4fa8a43357c168e081744f99e67195",
      "tree": "c56c6469fd2d220e317cf7ab7215e538dca5bad3",
      "parents": [
        "354ecbb9dd89c21708b319da8c4ffd3dd6e6811d"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Sep 12 18:56:12 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: let nfsd manage timing out its own leases\n\nCurrently there\u0027s a race that can cause an oops in generic_setlease.\n\n(In detail: nfsd, when it removes a lease, does so by calling\nvfs_setlease() with F_UNLCK and a pointer to the fl_flock field, which\nin turn points to nfsd\u0027s existing lease; but the first thing the\nsetlease code does is call time_out_leases().  If the lease happens to\nalready be beyond the lease break time, that will free the lease and (in\nnfsd\u0027s release_private callback) set fl_flock to NULL, leading to a NULL\ndeference soon after in vfs_setlease().)\n\nThere are probably other things to fix here too, but it seems inherently\nracy to allow either locks.c or nfsd to time out this lease.  Instead\njust set the fl_break_time to 0 (preventing locks.c from ever timing out\nthis lock) and leave it up to nfsd\u0027s laundromat thread to deal with it.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "40ee5dc6af351c1b3de245abed4bd8e6a4a5646a",
      "tree": "5558d5f2b3df23e745b152c439e731a7aeff7ab6",
      "parents": [
        "21fcd02be34f73bbc94db267b4db6ccd7332923d"
      ],
      "author": {
        "name": "Peter Staubach",
        "email": "staubach@redhat.com",
        "time": "Thu Aug 16 12:10:07 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: 64 bit ino support for NFS server\n\nModify the NFS server code to support 64 bit ino\u0027s, as\nappropriate for the system and the NFS protocol version.\n\nThe gist of the changes is to query the underlying file system\nfor attributes and not just to use the cached attributes in the\ninode.  For this specific purpose, the inode only contains an\nino field which unsigned long, which is large enough on 64 bit\nplatforms, but is not large enough on 32 bit platforms.\n\nI haven\u0027t been able to find any reason why -\u003egetattr can\u0027t be called\nwhile i_mutex.  The specification indicates that i_mutex is not\nrequired to be held in order to invoke -\u003egetattr, but it doesn\u0027t say\nthat i_mutex can\u0027t be held while invoking -\u003egetattr.\n\nI also haven\u0027t come to any conclusions regarding the value of\nlease_get_mtime() and whether it should or should not be invoked\nby fill_post_wcc() too.  I chose not to change this because I\nthought that it was safer to leave well enough alone.  If we\ndecide to make a change, it can be done separately.\n\nSigned-off-by: Peter Staubach \u003cstaubach@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "c175b83c4c4be72535c5c12abc155e29a08323a0",
      "tree": "10f0366f87ca31ba30e7d7edeabf5cdac4097f9d",
      "parents": [
        "246d95ba051101e515670a1cbe2907a88d360b88"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Aug 09 18:34:32 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: remove code duplication in nfsd4_setclientid()\n\nEach branch of this if-then-else has a bunch of duplicated code that we\ncould just put at the end.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "246d95ba051101e515670a1cbe2907a88d360b88",
      "tree": "d4d17a1e4b0d9e9e21f82d01c893707b99a68531",
      "parents": [
        "dd4877bfb6f09cb4a294b459b354c8fc8fa66904"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu Aug 09 00:53:50 2007 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "nfsd warning fix\n\nfs/nfsd/nfsctl.c: In function \u0027write_filehandle\u0027:\nfs/nfsd/nfsctl.c:301: warning: \u0027maxsize\u0027 may be used uninitialized in this function\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "dd4877bfb6f09cb4a294b459b354c8fc8fa66904",
      "tree": "d4f5f199bd0fa481b9b41c55715835272e07b482",
      "parents": [
        "e8ff2a8453cedf38d6d7a0528cb9c308066a3e3e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Oct 24 18:33:17 2006 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:57 2007 -0400"
      },
      "message": "knfsd: fix callback rpc cred\n\nIt doesn\u0027t make sense to make the callback with credentials that the\nclient made the setclientid with.  Instead the spec requires that the\ncallback occur with the credentials the client authenticated *to*.\nIt probably doesn\u0027t matter what we use for auth_unix, and some more\ninfrastructure will be needed for auth_gss, so let\u0027s just remove the\ncred lookup for now.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "e8ff2a8453cedf38d6d7a0528cb9c308066a3e3e",
      "tree": "6987fee75558983f92cbba7385e39acc44f7555e",
      "parents": [
        "2b47eece1fa519a81c8b802af77a8b8aa44baa10"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Aug 01 15:30:59 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: move nfsv4 slab creation/destruction to module init/exit\n\nWe have some slabs that the nfs4 server uses to store state objects.\nWe\u0027re currently creating and destroying those slabs whenever the server\nis brought up or down.  That seems excessive; may as well just do that\nin module initialization and exit.\n\nAlso add some minor header cleanup.  (Thanks to Andrew Morton for that\nand a compile fix.)\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "2b47eece1fa519a81c8b802af77a8b8aa44baa10",
      "tree": "b06263ca61a05cfaca7311bcfe542a44502c817c",
      "parents": [
        "c9b6cbe56d3ac471e6cd72a59ec9e324b3417016"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jul 27 18:06:50 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: spawn kernel thread to probe callback channel\n\nWe want to allow gss on the callback channel, so people using krb5 can\nstill get the benefits of delegations.\n\nBut looking up the rpc credential can take some time in that case.  And\nwe shouldn\u0027t delay the response to setclientid_confirm while we wait.\n\nIt may be inefficient, but for now the simplest solution is just to\nspawn a new thread as necessary for the purpose.\n\n(Thanks to Adrian Bunk for catching a missing static here.)\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "c9b6cbe56d3ac471e6cd72a59ec9e324b3417016",
      "tree": "15d77bd55682cb34678eb6f33053efaab1f81cc5",
      "parents": [
        "2fdada03b3876ab9f84ede160f187e888cafefb4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jul 27 16:36:45 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: nfs4 name-\u003eid mapping not correctly parsing negative downcall\n\nNote that qword_get() returns length or -1, not an -ERROR.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "2fdada03b3876ab9f84ede160f187e888cafefb4",
      "tree": "4fb687764c83d63083261f079695627003c22dd9",
      "parents": [
        "599e0a2290b22d959c7748bda83da3614187a299"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jul 27 16:10:37 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: demote some printk()s to dprintk()s\n\nTo quote a recent mail from Andrew Morton:\n\n\tLook: if there\u0027s a way in which an unprivileged user can trigger\n\ta printk we fix it, end of story.\n\nOK.  I assume that goes double for printk()s that might be triggered by\nrandom hosts on the internet.  So, disable some printk()s that look like\nthey could be triggered by malfunctioning or malicious clients.  For\nnow, just downgrade them to dprintk()s.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "599e0a2290b22d959c7748bda83da3614187a299",
      "tree": "3bd93f935dd4a3b41535ae8f41c8a273337c809f",
      "parents": [
        "3b398f0ef8db6a9bb431474afd871f4295203d2d"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 26 17:04:54 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: cleanup of nfsd4 cmp_* functions\n\nBenny Halevy suggested renaming cmp_* to same_* to make the meaning of\nthe return value clearer.\n\nFix some nearby style deviations while we\u0027re at it, including a small\nswath of creative indentation in nfs4_preprocess_seqid_op().\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "3b398f0ef8db6a9bb431474afd871f4295203d2d",
      "tree": "6ad8d3729f260ad1acde039ef81d7ddc03125097",
      "parents": [
        "9c85fca56b569dfba1f10ae12ce425c0e678df83"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 24 21:38:18 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "knfsd: delete code made redundant by map_new_errors\n\nI moved this check into map_new_errors, but forgot to delete the\noriginal.  Oops.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "9c85fca56b569dfba1f10ae12ce425c0e678df83",
      "tree": "588274c4216818f671ac47d804e830ae10f0d6e5",
      "parents": [
        "dca1dd30ce0a6234acc751bb90efba1b49079669"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 07 15:26:25 2007 +0000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:56 2007 -0400"
      },
      "message": "nfsd: fix horrible indentation in nfsd_setattr\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "45457e0916f8253691a44d3574949b6d3d5872b1",
      "tree": "60774cfc75cf073280b39ad82f095704c4b221af",
      "parents": [
        "bbf25010f1a6b761914430f5fca081ec8c7accd1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jun 22 17:26:32 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:31:54 2007 -0400"
      },
      "message": "nfsd: tone down inaccurate dprintk\n\nThe nfserr_dropit happens routinely on upcalls (so a kmalloc failure is\nalmost never the actual cause), but I occasionally get a complant from\nsome tester that\u0027s worried because they ran across this message after\nturning on debugging to research some unrelated problem.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by:  Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "817cb9d43d4c330f9fc023d96e5beaa1abe8c4b7",
      "tree": "bf1337ed1d37a9408aa07c3b7ebfa3c376d79070",
      "parents": [
        "e159a08b6ab14e255536fddae75d448395295c6f"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Sep 11 18:01:20 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 09 17:17:14 2007 -0400"
      },
      "message": "NFSD: Convert printk\u0027s to dprintk\u0027s in NFSD\u0027s nfs4xdr\n\nDue to recent edict to remove or replace printk\u0027s that can flood the system\nlog.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b8da0d1c27f144bce999c653467106f3f0d5a308",
      "tree": "eedc2f54d8dd6768b953b4d9e1b6075b62fc21ad",
      "parents": [
        "a1033be72cdb053e182bb41e302a1c11e72b68bb"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 05 17:22:13 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Sep 10 18:57:47 2007 -0700"
      },
      "message": "knfsd: Validate filehandle type in fsid_source\n\nfsid_source decided where to get the \u0027fsid\u0027 number to\nreturn for a GETATTR based on the type of filehandle.\nIt can be from the device, from the fsid, or from the\nUUID.\n\nIt is possible for the filehandle to be inconsistent\nwith the export information, so make sure the export information\nactually has the info implied by the value returned by\nfsid_source.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"Luiz Fernando N. Capitulino\" \u003clcapitulino@gmail.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1033be72cdb053e182bb41e302a1c11e72b68bb",
      "tree": "9e0bd5906c957d290d3291de3543a430f9864283",
      "parents": [
        "7d94143291e4e625e2bc3b1ebdc7143ee7a9a2f1"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Sep 05 17:22:12 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Sep 10 18:57:47 2007 -0700"
      },
      "message": "knfsd: Fixed problem with NFS exporting directories which are mounted on.\n\nRecent changes in NFSd cause a directory which is mounted-on\nto not appear properly when the filesystem containing it is exported.\n\n*exp_get* now returns -ENOENT rather than NULL and when\n  commit 5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1\nremoved the NULL checks, it didn\u0027t add a check for -ENOENT.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4a4b88317aa02c82e66e37debb764d4ff3eedd70",
      "tree": "4a4a2157f5b4117d28c38cb290dd1c804246ffb1",
      "parents": [
        "0a725fc4d3bfc4734164863d6c50208b109ca5c7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 31 00:37:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:38 2007 -0700"
      },
      "message": "knfsd: eliminate unnecessary -ENOENT returns on export downcalls\n\nA succesful downcall with a negative result (which indicates that the given\nfilesystem is not exported to the given user) should not return an error.\n\nCurrently mountd is depending on stdio to write these downcalls.  With some\nversions of libc this appears to cause subsequent writes to attempt to write\nall accumulated data (for which writes previously failed) along with any new\ndata.  This can prevent the kernel from seeing responses to later downcalls.\nSymptoms will be that nfsd fails to respond to certain requests.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a725fc4d3bfc4734164863d6c50208b109ca5c7",
      "tree": "d0b8c618a5af484b88c08dc04643fa05e1bcf144",
      "parents": [
        "749997e5127a1df6b68a10c686af3f5b819a41a2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 31 00:37:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:38 2007 -0700"
      },
      "message": "nfsd4: idmap upcalls should use unsigned uid and gid\n\nWe shouldn\u0027t be using negative uid\u0027s and gid\u0027s in the idmap upcalls.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "749997e5127a1df6b68a10c686af3f5b819a41a2",
      "tree": "73ca2d3c6b90de172c777dec052cfa83898e6db9",
      "parents": [
        "421cee293587081efef165b137514884b8472565"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 31 00:37:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:38 2007 -0700"
      },
      "message": "knfsd: set the response bitmask for NFS4_CREATE_EXCLUSIVE\n\nRFC 3530 says:\n\n If the server uses an attribute to store the exclusive create verifier, it\n will signify which attribute by setting the appropriate bit in the attribute\n mask that is returned in the results.\n\nLinux uses the atime and mtime to store the verifier, but sends a zeroed out\nbitmask back to the client.  This patch makes sure that we set the correct\nbits in the bitmask in this situation.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ca5c8cde93d65db3139604ca6b91bf8ff3f775e2",
      "tree": "d9ce882caf6b2b1d578829481e0895d6cd5b02aa",
      "parents": [
        "582ee43dad8e411513a74f2d801255dcffc6d29e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jul 26 17:33:49 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:11:56 2007 -0700"
      },
      "message": "lockd and nfsd endianness annotation fixes\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e63516c826454c964eefdd24d33e188064c6679",
      "tree": "3a22bd550f2febb703af566b4c41a952d67aa8fd",
      "parents": [
        "601e625587bf92c9f370d74a15c4e43bc6468f9f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sat Jul 21 04:37:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jul 21 17:49:14 2007 -0700"
      },
      "message": "knfsd: fix typo in export display, print uid and gid as unsigned\n\nFor display purposes, treat uid\u0027s and gid\u0027s as unsigned ints for now.\nAlso fix a typo.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "c7d51402d2a64c5b96531f9900bb368020ebbbbb",
      "tree": "b870f7352ceb21799df933a31662b748edcad1e6",
      "parents": [
        "e22841c637dc8b308b40f59d64a5b6683d458ab7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "knfsd: clean up EX_RDONLY\n\nShare a little common code, reverse the arguments for consistency, drop the\nunnecessary \"inline\", and lowercase the name.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e22841c637dc8b308b40f59d64a5b6683d458ab7",
      "tree": "4a5d32f430c8123a71a1731eb6b94f807bb435f4",
      "parents": [
        "5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "knfsd: move EX_RDONLY out of header\n\nEX_RDONLY is only called in one place; just put it there.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1",
      "tree": "aa47031138ddb94f8a725ab525a46bffd466a479",
      "parents": [
        "9a25b96c1f6e1a3c85c9524f3046c7c75d8fecc7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "nfsd: remove unnecessary NULL checks from nfsd_cross_mnt\n\nWe can now assume that rqst_exp_get_by_name() does not return NULL; so clean\nup some unnecessary checks.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a25b96c1f6e1a3c85c9524f3046c7c75d8fecc7",
      "tree": "aacaf5f3616f7e24a6fe66b5df136b521ccaa557",
      "parents": [
        "a280df32db291f41b3922ac218674be526af5b9b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "nfsd: return errors, not NULL, from export functions\n\nI converted the various export-returning functions to return -ENOENT instead\nof NULL, but missed a few cases.\n\nThis particular case could cause actual bugs in the case of a krb5 client that\ndoesn\u0027t match any ip-based client and that is trying to access a filesystem\nnot exported to krb5 clients.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a280df32db291f41b3922ac218674be526af5b9b",
      "tree": "133e80664abd69ad14b3951112d2916e26f51680",
      "parents": [
        "d688abf50bd5a30d2c44dea2a72dd59052cd3cce"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jul 19 01:49:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:52 2007 -0700"
      },
      "message": "nfsd: fix possible read-ahead cache and export table corruption\n\nThe value of nperbucket calculated here is too small--we should be rounding up\ninstead of down--with the result that the index j in the following loop can\noverflow the raparm_hash array.  At least in my case, the next thing in memory\nturns out to be export_table, so the symptoms I see are crashes caused by the\nappearance of four zeroed-out export entries in the first bucket of the hash\ntable of exports (which were actually entries in the readahead cache, a\npointer to which had been written to the export table in this initialization\ncode).\n\nIt looks like the bug was probably introduced with commit\nfce1456a19f5c08b688c29f00ef90fdfa074c79b (\"knfsd: make the readahead params\ncache SMP-friendly\").\n\nCc: \u003cstable@kernel.org\u003e\nCc: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9933cea7a1d80dd9efae9f1acd857f5dce742b9",
      "tree": "d931351589579ce141110350de9ff11154328399",
      "parents": [
        "6d5e8b05caf074ae5676ad9aaf92e381226a14a7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Jun 07 17:09:49 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jul 18 19:14:12 2007 -0400"
      },
      "message": "locks: rename lease functions to reflect locks.c conventions\n\nWe\u0027ve been using the convention that vfs_foo is the function that calls\na filesystem-specific foo method if it exists, or falls back on a\ngeneric method if it doesn\u0027t; thus vfs_foo is what is called when some\nother part of the kernel (normally lockd or nfsd) wants to get a lock,\nwhereas foo is what filesystems call to use the underlying local\nfunctionality as part of their lock implementation.\n\nSo rename setlease to vfs_setlease (which will call a\nfilesystem-specific setlease after a later patch) and __setlease to\nsetlease.\n\nAlso, vfs_setlease need only be GPL-exported as long as it\u0027s only needed\nby lockd and nfsd.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1269bc69b6649282091bb7007372acf4ab8357fd",
      "tree": "58cd434f7381332dd8b7331da36f98b40cb69639",
      "parents": [
        "9091224f3cff4721f295df29e8a99705a63bc4c7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd: enforce per-flavor id squashing\n\nAllow root squashing to vary per-pseudoflavor, so that you can (for example)\nallow root access only when sufficiently strong security is in use.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9091224f3cff4721f295df29e8a99705a63bc4c7",
      "tree": "a3fdc31dc0697003029a06b8088a8a81f54e41c4",
      "parents": [
        "4796f45740bc6f2e3e6cc14e7ed481b38bd0bd39"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd: allow auth_sys nlm on rpcsec_gss exports\n\nOur clients (like other clients, as far as I know) use only auth_sys for nlm,\neven when using rpcsec_gss for the main nfs operations.\n\nAdministrators that want to deny non-kerberos-authenticated locking requests\nwill need to turn off NFS protocol versions less than 4....\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4796f45740bc6f2e3e6cc14e7ed481b38bd0bd39",
      "tree": "1f24645e86f87511350e149525245f2b215ba55a",
      "parents": [
        "dcb488a3b7ac3987e21148f44f641c9b2e734232"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: secinfo handling without secinfo\u003d option\n\nWe could return some sort of error in the case where someone asks for secinfo\non an export without the secinfo\u003d option set--that\u0027d be no worse than what\nwe\u0027ve been doing.  But it\u0027s not really correct.  So, hack up an approximate\nsecinfo response in that case--it may not be complete, but it\u0027ll tell the\nclient at least one acceptable security flavor.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dcb488a3b7ac3987e21148f44f641c9b2e734232",
      "tree": "edc9fe889094768068d8ea8c214076e40313a297",
      "parents": [
        "ae4c40b1d81f5299c04330306736b2f0f0539f4b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@citi.umich.edu",
        "time": "Tue Jul 17 04:04:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: implement secinfo\n\nImplement the secinfo operation.\n\n(Thanks to Usha Ketineni wrote an earlier version of this support.)\n\nCc: Usha Ketineni \u003cuketinen@us.ibm.com\u003e\nSigned-off-by: Andy Adamson \u003candros@citi.umich.edu\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91fe39d35ebd6adaece4e090f6b1a3e4b6a59c97",
      "tree": "f76c9129068fdb96408295ddb1c53491cf663389",
      "parents": [
        "ac34cdb03dfdb8cdc824f41f577434c5c2521155"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd: display export secinfo information\n\nAdd secinfo information to the display in proc/net/sunrpc/nfsd.export/content.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac34cdb03dfdb8cdc824f41f577434c5c2521155",
      "tree": "7ba12b944282a401911fd0d7d61fc116317e1789",
      "parents": [
        "0ec757df9743025f14190d6034d8bd2bf37c2dd1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd: factor out code from show_expflags\n\nFactor out some code to be shared by secinfo display code.  Remove some\nunnecessary conditional printing of commas where we know the condition is\ntrue.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ec757df9743025f14190d6034d8bd2bf37c2dd1",
      "tree": "77436cbdc8c241aceab2daed243606e17e126771",
      "parents": [
        "32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 17 04:04:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 17 10:23:08 2007 -0700"
      },
      "message": "knfsd: nfsd4: make readonly access depend on pseudoflavor\n\nAllow readonly access to vary depending on the pseudoflavor, using the flag\npassed with each pseudoflavor in the export downcall.  The rest of the flags\nare ignored for now, though some day we might also allow id squashing to vary\nbased on the flavor.\n\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "32c1eb0cd7ee00b5eb7b6f7059c635fbc1052966"
}
