)]}'
{
  "log": [
    {
      "commit": "befc649c2274a1c35f0cd1e888dd83652cbb0422",
      "tree": "ccbbc9f286c50dd8c9f036408b71acda9f5dd427",
      "parents": [
        "fd72faac95d7e47610e981d7ed7b3c1529e55c88"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Nov 07 00:59:52 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:42 2005 -0800"
      },
      "message": "[PATCH] FUSE: pass file handle in setattr\n\nThis patch passes the file handle supplied in iattr to userspace, in case the\n-\u003esetattr() was invoked from sys_ftruncate().  This solves the permission\nchecking (or lack thereof) in ftruncate() for the class of filesystems served\nby an unprivileged userspace process.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd72faac95d7e47610e981d7ed7b3c1529e55c88",
      "tree": "65cde1eb6958f410c4b4c72e322fd59db463150f",
      "parents": [
        "31d40d74b402a6fa18a006fb3745f64609f35b77"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Nov 07 00:59:51 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:42 2005 -0800"
      },
      "message": "[PATCH] FUSE: atomic create+open\n\nThis patch adds an atomic create+open operation.  This does not yet work if\nthe file type changes between lookup and create+open, but solves the\npermission checking problems for the separte create and open methods.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "31d40d74b402a6fa18a006fb3745f64609f35b77",
      "tree": "ee8c61e814fcae687e3ba3f8ed4828d6d34f8ff2",
      "parents": [
        "5b62073d502a88fedc5c369f8a004bda7c9d1999"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Nov 07 00:59:50 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:42 2005 -0800"
      },
      "message": "[PATCH] FUSE: add access call\n\nAdd a new access call, which will only be called if -\u003epermission is invoked\nfrom sys_access().  In all other cases permission checking is delayed until\nthe actual filesystem operation.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8ba3b731086bcae5468f9ea509f39a921b3f9a6",
      "tree": "cf75a8ea1bad960b431dccceae83b4ac09729399",
      "parents": [
        "274b69335d8f18fe198af2d939331f01fec70659"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Nov 07 00:59:26 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:37 2005 -0800"
      },
      "message": "[PATCH] fuse: remove dead code from fuse_permission\n\nThe -EROFS check has moved up to permission() in the VFS a while ago.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1779381dea3bada407396742c56bee31ffa8544e",
      "tree": "bf24990d1ba97eed5a60d9a795ba35620cace757",
      "parents": [
        "2a38bccd0c63a4954ea4e1357cbff404aa321afb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Oct 30 15:02:51 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:24 2005 -0800"
      },
      "message": "[PATCH] fuse: spelling fixes\n\nCorrect some typos and inconsistent use of \"initialise\" vs \"initialize\" in\ncomments.  Reported by Ioannis Barkas.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f12ec44070f6b4d1a3911fcf9917cf8f872a4daf",
      "tree": "aaaa60dc437720372637a5a95f4fcd7648d7b9c5",
      "parents": [
        "15d2bace5ec907530a3d0e0cf4bb1bd29f3ad7b7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Oct 30 15:02:25 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:21 2005 -0800"
      },
      "message": "[PATCH] fuse: clean up dead code related to nfs exporting\n\nRemove last remains of NFS exportability support.\n\nThe code is actually buggy (as reported by Akshat Aranya), since \u0027alias\u0027\nwill be leaked if it\u0027s non-null and alias-\u003ed_flags has DCACHE_DISCONNECTED.\n\nThis is not an active bug, since there will never be any disconnected\ndentries.  But it\u0027s better to get rid of the unnecessary complexity anyway.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd190d066b7ded8c44b2b67dd0a14bed01525d3c",
      "tree": "a76e0425ca910b3f0bf6c773349004feceba27f3",
      "parents": [
        "daa35edc0a967d1f77c2e2c1346f57d04371487a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 30 11:59:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 30 12:41:18 2005 -0700"
      },
      "message": "[PATCH] fuse: check O_DIRECT\n\nCheck O_DIRECT and return -EINVAL error in open.  dentry_open() also checks\nthis but only after the open method is called.  This patch optimizes away\nthe unnecessary upcalls in this case.\n\nIt could be a correctness issue too: if filesystem has open() with side\neffect, then it should fail before doing the open, not after.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ee4e52719ce474af339f4b81ece2ce9ecf920dfd",
      "tree": "ffcc4b530d1cc88d35b665b7efcfc93a0044800f",
      "parents": [
        "909021ea7a8f4ef13af54935b87b03a20906e08a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Sep 27 21:45:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 28 07:46:40 2005 -0700"
      },
      "message": "[PATCH] fuse: check reserved node ID values\n\nThis patch checks reserved node ID values returned by lookup and creation\noperations.  In case one of the reserved values is sent, return -EIO.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c352bdf048811b8128019ffc1e886161e09c11c",
      "tree": "74c48298b67d37295433d9b2bb08d590a5f97a78",
      "parents": [
        "8254798199332966e2ab647380c990193af7e854"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:48 2005 -0700"
      },
      "message": "[PATCH] FUSE: don\u0027t allow restarting of system calls\n\nThis patch removes ability to interrupt and restart operations while there\nhasn\u0027t been any side-effect.\n\nThe reason: applications.  There are some apps it seems that generate\nsignals at a fast rate.  This means, that if the operation cannot make\nenough progress between two signals, it will be restarted for ever.  This\nbug actually manifested itself with \u0027krusader\u0027 trying to open a file for\nwriting under sshfs.  Thanks to Eduard Czimbalmos for the report.\n\nThe problem can be solved just by making open() uninterruptible, because in\nthis case it was the truncate operation that slowed down the progress.  But\nit\u0027s better to solve this by simply not allowing interrupts at all (except\nSIGKILL), because applications don\u0027t expect file operations to be\ninterruptible anyway.  As an added bonus the code is simplified somewhat.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8254798199332966e2ab647380c990193af7e854",
      "tree": "ad4a9721a872fbdec0be107f35684864a1a94053",
      "parents": [
        "b36c31ba95f0fe0a03c727300d9c4c54438a5636"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:47 2005 -0700"
      },
      "message": "[PATCH] FUSE: add fsync operation for directories\n\nThis patch adds a new FSYNCDIR request, which is sent when fsync is called\non directories.  This operation is available in libfuse 2.3-pre1 or\ngreater.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b36c31ba95f0fe0a03c727300d9c4c54438a5636",
      "tree": "092a83bc7f351bdd66aafee0f59fddba982b4317",
      "parents": [
        "45323fb76465a9576220c7427dbac7b1e7ad3caf"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:47 2005 -0700"
      },
      "message": "[PATCH] fuse: don\u0027t update file times\n\nDon\u0027t change mtime/ctime/atime to local time on read/write.  Rather invalidate\nfile attributes, so next stat() will force a GETATTR call.  Bug reported by\nBen Grimm.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45323fb76465a9576220c7427dbac7b1e7ad3caf",
      "tree": "5d3e5f9a01cdaf6aaabe38520d5bd5b2d744acd5",
      "parents": [
        "04730fef1f9c7277e5c730b193e681ac095b0507"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:47 2005 -0700"
      },
      "message": "[PATCH] fuse: more flexible caching\n\nMake data caching behavior selectable on a per-open basis instead of\nper-mount.  Compatibility for the old mount options \u0027kernel_cache\u0027 and\n\u0027direct_io\u0027 is retained in the userspace library (version 2.4.0-pre1 or\nlater).\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "04730fef1f9c7277e5c730b193e681ac095b0507",
      "tree": "3694ea435eb38f10dadc5c8b6abd603a7e10f52e",
      "parents": [
        "413ef8cb302511d8e995e2b0e5517ee1a65b9c77"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:47 2005 -0700"
      },
      "message": "[PATCH] fuse: transfer readdir data through device\n\nThis patch removes a long lasting \"hack\" in FUSE, which used a separate\nchannel (a file descriptor refering to a disk-file) to transfer directory\ncontents from userspace to the kernel.\n\nThe patch adds three new operations (OPENDIR, READDIR, RELEASEDIR), which\nhave semantics and implementation exactly maching the respective file\noperations (OPEN, READ, RELEASE).\n\nThis simplifies the directory reading code.  Also disk space is not\nnecessary, which can be important in embedded systems.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "413ef8cb302511d8e995e2b0e5517ee1a65b9c77",
      "tree": "59acb15a73fa0dc4393a086fb83f016105d84b2a",
      "parents": [
        "5a53368277efa2d80dd2206dddc1f4b19ef0c32a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:46 2005 -0700"
      },
      "message": "[PATCH] FUSE - direct I/O\n\nThis patch adds support for the \"direct_io\" mount option of FUSE.\n\nWhen this mount option is specified, the page cache is bypassed for\nread and write operations.  This is useful for example, if the\nfilesystem doesn\u0027t know the size of files before reading them, or when\nany kind of caching is harmful.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5a53368277efa2d80dd2206dddc1f4b19ef0c32a",
      "tree": "decdf01b0019bf3d0f04d3426b8d6e2d18641eb3",
      "parents": [
        "87729a5514e855ce2c71e3e33833a106b8caf2ae"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:46 2005 -0700"
      },
      "message": "[PATCH] fuse: stricter mount option checking\n\nCheck for the presence of all mandatory mount options.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "87729a5514e855ce2c71e3e33833a106b8caf2ae",
      "tree": "dd2e7a9fd96b2dd3ebc3951fef2d682e83aa6bb4",
      "parents": [
        "db50b96c0f28a21c5a4a19ecaba12d0972aab06a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:46 2005 -0700"
      },
      "message": "[PATCH] FUSE: tighten check for processes allowed access\n\nThis patch tightens the check for allowing processes to access non-privileged\nmounts.  The rational is that the filesystem implementation can control the\nbehavior or get otherwise unavailable information of the filesystem user.  If\nthe filesystem user process has the same uid, gid, and is not suid or sgid\napplication, then access is safe.  Otherwise access is not allowed unless the\n\"allow_other\" mount option is given (for which policy is controlled by the\nuserspace mount utility).\n\nThanks to everyone linux-fsdevel, especially Martin Mares who helped uncover\nproblems with the previous approach.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db50b96c0f28a21c5a4a19ecaba12d0972aab06a",
      "tree": "d7f2cb99de499c116ce08153a369044af0622c16",
      "parents": [
        "06663267b4b1e85ece73236ea720355668d4f736"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:46 2005 -0700"
      },
      "message": "[PATCH] FUSE - readpages operation\n\nThis patch adds readpages support to FUSE.\n\nWith the help of the readpages() operation multiple reads are bundled\ntogether and sent as a single request to userspace.  This can improve\nreading performace.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92a8780e1136c5ca0c7ed940000d399943d1576e",
      "tree": "b7fb327d66c06b47156f157c470f3ac7fed31682",
      "parents": [
        "1e9a4ed9396e9c31139721b639550ffb1df17065"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:45 2005 -0700"
      },
      "message": "[PATCH] FUSE - extended attribute operations\n\nThis patch adds the extended attribute operations to FUSE.\n\nThe following operations are added:\n\n o getxattr\n o setxattr\n o listxattr\n o removexattr\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e9a4ed9396e9c31139721b639550ffb1df17065",
      "tree": "213566cf1294f5dd8f6ff62ceb3557b5f5b6c59c",
      "parents": [
        "b6aeadeda22a9aa322fdfcd3f4c69ccf0da5cbdd"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:45 2005 -0700"
      },
      "message": "[PATCH] FUSE - mount options\n\nThis patch adds miscellaneous mount options to the FUSE filesystem.\n\nThe following mount options are added:\n\n o default_permissions:  check permissions with generic_permission()\n o allow_other:          allow other users to access files\n o allow_root:           allow root to access files\n o kernel_cache:         don\u0027t invalidate page cache on open\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b6aeadeda22a9aa322fdfcd3f4c69ccf0da5cbdd",
      "tree": "794afec0eeb13722550a97783ec0cfb95e5e83cb",
      "parents": [
        "9e6268db496a2592e89457537ea54a496feabb77"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:45 2005 -0700"
      },
      "message": "[PATCH] FUSE - file operations\n\nThis patch adds the file operations of FUSE.\n\nThe following operations are added:\n\n o open\n o flush\n o release\n o fsync\n o readpage\n o commit_write\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e6268db496a2592e89457537ea54a496feabb77",
      "tree": "e01d0d7585886fd318b6f16de9329349a629e3f8",
      "parents": [
        "e5e5558e923f35839108a12718494ecb73fb782f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:45 2005 -0700"
      },
      "message": "[PATCH] FUSE - read-write operations\n\nThis patch adds the write filesystem operations of FUSE.\n\nThe following operations are added:\n\n o setattr\n o symlink\n o mknod\n o mkdir\n o create\n o unlink\n o rmdir\n o rename\n o link\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e5e5558e923f35839108a12718494ecb73fb782f",
      "tree": "c410d6826e9df13f7ea9e382a26589b66ec0989c",
      "parents": [
        "334f485df85ac7736ebe14940bf0a059c5f26d7d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:45 2005 -0700"
      },
      "message": "[PATCH] FUSE - read-only operations\n\nThis patch adds the read-only filesystem operations of FUSE.\n\nThis contains the following files:\n\n o dir.c\n    - directory, symlink and file-inode operations\n\nThe following operations are added:\n\n o lookup\n o getattr\n o readlink\n o follow_link\n o directory open\n o readdir\n o directory release\n o permission\n o dentry revalidate\n o statfs\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "334f485df85ac7736ebe14940bf0a059c5f26d7d",
      "tree": "754e5528289048a7104f4c1b431cebc1df16e2ce",
      "parents": [
        "d8a5ba45457e4a22aa39c939121efd7bb6c76672"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:44 2005 -0700"
      },
      "message": "[PATCH] FUSE - device functions\n\nThis adds the FUSE device handling functions.\n\nThis contains the following files:\n\n o dev.c\n    - fuse device operations (read, write, release, poll)\n    - registers misc device\n    - support for sending requests to userspace\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8a5ba45457e4a22aa39c939121efd7bb6c76672",
      "tree": "686aa90d8c953326b8d2eeef9352e456cdb0ad52",
      "parents": [
        "04578f174f43d29b569500f01ba772afa4016330"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:44 2005 -0700"
      },
      "message": "[PATCH] FUSE - core\n\nThis patch adds FUSE core.\n\nThis contains the following files:\n\n o inode.c\n    - superblock operations (alloc_inode, destroy_inode, read_inode,\n      clear_inode, put_super, show_options)\n    - registers FUSE filesystem\n\n o fuse_i.h\n    - private header file\n\nRequirements\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n The most important difference between orinary filesystems and FUSE is\n the fact, that the filesystem data/metadata is provided by a userspace\n process run with the privileges of the mount \"owner\" instead of the\n kernel, or some remote entity usually running with elevated\n privileges.\n\n The security implication of this is that a non-privileged user must\n not be able to use this capability to compromise the system.  Obvious\n requirements arising from this are:\n\n  - mount owner should not be able to get elevated privileges with the\n    help of the mounted filesystem\n\n  - mount owner should not be able to induce undesired behavior in\n    other users\u0027 or the super user\u0027s processes\n\n  - mount owner should not get illegitimate access to information from\n    other users\u0027 and the super user\u0027s processes\n\n These are currently ensured with the following constraints:\n\n  1) mount is only allowed to directory or file which the mount owner\n    can modify without limitation (write access + no sticky bit for\n    directories)\n\n  2) nosuid,nodev mount options are forced\n\n  3) any process running with fsuid different from the owner is denied\n     all access to the filesystem\n\n 1) and 2) are ensured by the \"fusermount\" mount utility which is a\n    setuid root application doing the actual mount operation.\n\n 3) is ensured by a check in the permission() method in kernel\n\n I started thinking about doing 3) in a different way because Christoph\n H. made a big deal out of it, saying that FUSE is unacceptable into\n mainline in this form.\n\n The suggested use of private namespaces would be OK, but in their\n current form have many limitations that make their use impractical (as\n discussed in this thread).\n\n Suggested improvements that would address these limitations:\n\n   - implement shared subtrees\n\n   - allow a process to join an existing namespace (make namespaces\n     first-class objects)\n\n   - implement the namespace creation/joining in a PAM module\n\n With all that in place the check of owner against current-\u003efsuid may\n be removed from the FUSE kernel module, without compromising the\n security requirements.\n\n Suid programs still interesting questions, since they get access even\n to the private namespace causing some information leak (exact\n order/timing of filesystem operations performed), giving some\n ptrace-like capabilities to unprivileged users.  BTW this problem is\n not strictly limited to the namespace approach, since suid programs\n setting fsuid and accessing users\u0027 files will succeed with the current\n approach too.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
