{"push_id":716030015,"size":277,"distinct_size":1,"ref":"refs/heads/topics/dt/ipaccess-boards","head":"9fe3cd9b96647200881638c1d61dc723b660b3f1","before":"68638e995b76a1f7ae7354416d9dd17ffd7f8ae0","commits":[{"sha":"182d919b84902eece162c63ed3d476c8016b4197","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: Count culled objects and objects rejected due to lack of space\n\nCount the number of objects that get culled by the cache backend and the\nnumber of objects that the cache backend declines to instantiate due to lack\nof space in the cache.\n\nThese numbers are made available through /proc/fs/fscache/stats\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/182d919b84902eece162c63ed3d476c8016b4197"},{"sha":"3c3059841a9b99fa8dd8d878607deceec1e363e9","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: Move fscache_report_unexpected_submission() to make it more available\n\nMove fscache_report_unexpected_submission() up within operation.c so that it\ncan be called from fscache_submit_exclusive_op() too.\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/3c3059841a9b99fa8dd8d878607deceec1e363e9"},{"sha":"30ceec6284129662efc3a1e7675b2bd857a046fe","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: When submitting an op, cancel it if the target object is dying\n\nWhen submitting an operation, prefer to cancel the operation immediately\nrather than queuing it for later processing if the object is marked as dying\n(ie. the object state machine has reached the KILL_OBJECT state).\n\nWhilst we're at it, change the series of related test_bit() calls into a\nREAD_ONCE() and bitwise-AND operators to reduce the number of load\ninstructions (test_bit() has a volatile address).\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/30ceec6284129662efc3a1e7675b2bd857a046fe"},{"sha":"6515d1dbf424c5c3b94d44e9c7f581026e7fc0d3","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: Handle a new operation submitted against a killed object\n\nReject new operations that are being submitted against an object if that\nobject has failed its lookup or creation states or has been killed by the\ncache backend for some other reason, such as having been culled.\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/6515d1dbf424c5c3b94d44e9c7f581026e7fc0d3"},{"sha":"f09b443d0e09f37121c55d7f83056f6ebff6ab4f","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: Synchronise object death state change vs operation submission\n\nWhen an object is being marked as no longer live, do this under the object\nspinlock to prevent a race with operation submission targeted on that object.\n\nThe problem occurs due to the following pair of intertwined sequences when the\ncache tries to create an object that would take it over the hard available\nspace limit:\n\n NETFS INTERFACE\n ===============\n (A) The netfs calls fscache_acquire_cookie().  object creation is deferred to\n     the object state machine and the netfs is allowed to continue.\n\n\tOBJECT STATE MACHINE KTHREAD\n\t============================\n\t(1) The object is looked up on disk by fscache_look_up_object()\n\t    calling cachefiles_walk_to_object().  The latter finds that the\n\t    object is not yet represented on disk and calls\n\t    fscache_object_lookup_negative().\n\n\t(2) fscache_object_lookup_negative() sets FSCACHE_COOKIE_NO_DATA_YET\n\t    and clears FSCACHE_COOKIE_LOOKING_UP, thus allowing the netfs to\n\t    start queuing read operations.\n\n (B) The netfs calls fscache_read_or_alloc_pages().  This calls\n     fscache_wait_for_deferred_lookup() which sees FSCACHE_COOKIE_LOOKING_UP\n     become clear, allowing the read to begin.\n\n (C) A read operation is set up and passed to fscache_submit_op() to deal\n     with.\n\n\t(3) cachefiles_walk_to_object() calls cachefiles_has_space(), which\n\t    fails (or one of the file operations to create stuff fails).\n\t    cachefiles returns an error to fscache.\n\n\t(4) fscache_look_up_object() transits to the LOOKUP_FAILURE state,\n\n\t(5) fscache_lookup_failure() sets FSCACHE_OBJECT_LOOKED_UP and\n\t    FSCACHE_COOKIE_UNAVAILABLE and clears FSCACHE_COOKIE_LOOKING_UP\n\t    then transits to the KILL_OBJECT state.\n\n\t(6) fscache_kill_object() clears FSCACHE_OBJECT_IS_LIVE in an attempt\n\t    to reject any further requests from the netfs.\n\n\t(7) object->n_ops is examined and found to be 0.\n\t    fscache_kill_object() transits to the DROP_OBJECT state.\n\n (D) fscache_submit_op() locks the object spinlock, sees if it can dispatch\n     the op immediately by calling fscache_object_is_active() - which fails\n     since FSCACHE_OBJECT_IS_AVAILABLE has not yet been set.\n\n (E) fscache_submit_op() then tests FSCACHE_OBJECT_LOOKED_UP - which is set.\n     It then queues the object and increments object->n_ops.\n\n\t(8) fscache_drop_object() releases the object and eventually\n\t    fscache_put_object() calls cachefiles_put_object() which suffers\n\t    an assertion failure here:\n\n\t\tASSERTCMP(object->fscache.n_ops, ==, 0);\n\nLocking the object spinlock in step (6) around the clearance of\nFSCACHE_OBJECT_IS_LIVE ensures that the the decision trees in\nfscache_submit_op() and fscache_submit_exclusive_op() don't see the IS_LIVE\nflag being cleared mid-decision: either the op is queued before step (7) - in\nwhich case fscache_kill_object() will see n_ops>0 and will deal with the op -\nor the op will be rejected.\n\nThis, combined with rejecting op submission if the target object is dying, fix\nthe problem.\n\nThe problem shows up as the following oops:\n\nCacheFiles: Assertion failed\nCacheFiles: 1 == 0 is false\n------------[ cut here ]------------\nkernel BUG at ../fs/cachefiles/interface.c:339!\n...\nRIP: 0010:[<ffffffffa014fd9c>]  [<ffffffffa014fd9c>] cachefiles_put_object+0x2a4/0x301 [cachefiles]\n...\nCall Trace:\n [<ffffffffa008674b>] fscache_put_object+0x18/0x21 [fscache]\n [<ffffffffa00883e6>] fscache_object_work_func+0x3ba/0x3c9 [fscache]\n [<ffffffff81054dad>] process_one_work+0x226/0x441\n [<ffffffff81055d91>] worker_thread+0x273/0x36b\n [<ffffffff81055b1e>] ? rescuer_thread+0x2e1/0x2e1\n [<ffffffff81059b9d>] kthread+0x10e/0x116\n [<ffffffff81059a8f>] ? kthread_create_on_node+0x1bb/0x1bb\n [<ffffffff815579ac>] ret_from_fork+0x7c/0xb0\n [<ffffffff81059a8f>] ? kthread_create_on_node+0x1bb/0x1bb\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/f09b443d0e09f37121c55d7f83056f6ebff6ab4f"},{"sha":"87021526300f1a292dd966e141e183630ac95317","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: fscache_object_is_dead() has wrong logic, kill it\n\nfscache_object_is_dead() returns true only if the object is marked dead and\nthe cache got an I/O error.  This should be a logical OR instead.  Since two\nof the callers got split up into handling for separate subcases, expand the\nother callers and kill the function.  This is probably the right thing to do\nanyway since one of the subcases isn't about the object at all, but rather\nabout the cache.\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/87021526300f1a292dd966e141e183630ac95317"},{"sha":"418b7eb9e1011bc11220a03ad0045885d04698d2","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: Permit fscache_cancel_op() to cancel in-progress operations too\n\nCurrently, fscache_cancel_op() only cancels pending operations - attempts to\ncancel in-progress operations are ignored.  This leads to a problem in\nfscache_wait_for_operation_activation() whereby the wait is terminated, but\nthe object has been killed.\n\nThe check at the end of the function now triggers because it's no longer\ncontingent on the cache having produced an I/O error since the commit that\nfixed the logic error in fscache_object_is_dead().\n\nThe result of the check is that it tries to cancel the operation - but since\nthe object may not be pending by this point, the cancellation request may be\nignored - with the result that the the object is just put by the caller and\nfscache_put_operation has an assertion failure because the operation isn't in\neither the COMPLETE or the CANCELLED states.\n\nTo fix this, we permit in-progress ops to be cancelled under some\ncircumstances.\n\nThe bug results in an oops that looks something like this:\n\n\tFS-Cache: fscache_wait_for_operation_activation() = -ENOBUFS [obj dead 3]\n\tFS-Cache:\n\tFS-Cache: Assertion failed\n\tFS-Cache: 3 == 5 is false\n\t------------[ cut here ]------------\n\tkernel BUG at ../fs/fscache/operation.c:432!\n\t...\n\tRIP: 0010:[<ffffffffa0088574>] fscache_put_operation+0xf2/0x2cd\n\tCall Trace:\n\t [<ffffffffa008b92a>] __fscache_read_or_alloc_pages+0x2ec/0x3b3\n\t [<ffffffffa00b761f>] __nfs_readpages_from_fscache+0x59/0xbf [nfs]\n\t [<ffffffffa00b06c5>] nfs_readpages+0x10c/0x185 [nfs]\n\t [<ffffffff81124925>] ? alloc_pages_current+0x119/0x13e\n\t [<ffffffff810ee5fd>] ? __page_cache_alloc+0xfb/0x10a\n\t [<ffffffff810f87f8>] __do_page_cache_readahead+0x188/0x22c\n\t [<ffffffff810f8b3a>] ondemand_readahead+0x29e/0x2af\n\t [<ffffffff810f8c92>] page_cache_sync_readahead+0x38/0x3a\n\t [<ffffffff810ef337>] generic_file_read_iter+0x1a2/0x55a\n\t [<ffffffffa00a9dff>] ? nfs_revalidate_mapping+0xd6/0x288 [nfs]\n\t [<ffffffffa00a6a23>] nfs_file_read+0x49/0x70 [nfs]\n\t [<ffffffff811363be>] new_sync_read+0x78/0x9c\n\t [<ffffffff81137164>] __vfs_read+0x13/0x38\n\t [<ffffffff8113721e>] vfs_read+0x95/0x121\n\t [<ffffffff811372f6>] SyS_read+0x4c/0x8a\n\t [<ffffffff81557a52>] system_call_fastpath+0x12/0x17\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/418b7eb9e1011bc11220a03ad0045885d04698d2"},{"sha":"1339ec98e32b4bc8efb6fbb71c006a465130aaba","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: Out of line fscache_operation_init()\n\nOut of line fscache_operation_init() so that it can access internal FS-Cache\nfeatures, such as stats, in a later commit.\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/1339ec98e32b4bc8efb6fbb71c006a465130aaba"},{"sha":"03cdd0e4b9a98ae995b81cd8f58e992ec3f44ae2","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: Count the number of initialised operations\n\nCount and display through /proc/fs/fscache/stats the number of initialised\noperations.\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/03cdd0e4b9a98ae995b81cd8f58e992ec3f44ae2"},{"sha":"73c04a47bf79770fbe7f3cf515f5831fccab88ee","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: Fix cancellation of in-progress operation\n\nCancellation of an in-progress operation needs to update the relevant counters\nand start any operations that are pending waiting on this one.\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/73c04a47bf79770fbe7f3cf515f5831fccab88ee"},{"sha":"a39caadf06879017cb9a8c5c5cb4fc4ccb213275","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: Put an aborted initialised op so that it is accounted correctly\n\nCall fscache_put_operation() or a wrapper on any op that has gone through\nfscache_operation_init() so that the accounting shown in /proc is done\ncorrectly, specifically fscache_n_op_release.\n\nfscache_put_operation() therefore now allows an op in the INITIALISED state as\nwell as in the CANCELLED and COMPLETE states.\n\nNote that this means that an operation can get put that doesn't have its\n->object pointer filled in, so anything that depends on the object needs to be\nconditional in fscache_put_operation().\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/a39caadf06879017cb9a8c5c5cb4fc4ccb213275"},{"sha":"d3b97ca4a99e4e6c78f5a21c968eadf5c8ba9971","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: The operation cancellation method needs calling in more places\n\nAny time an incomplete operation is cancelled, the operation cancellation\nfunction needs to be called to clean up.  This is currently being passed\ndirectly to some of the functions that might want to call it, but not all.\n\nInstead, pass the cancellation method pointer to the fscache_operation_init()\nand have that cache it in the operation struct.  Further, plug in a dummy\ncancellation handler if the caller declines to set one as this allows us to\ncall the function unconditionally (the extra overhead isn't worth bothering\nabout as we don't expect to be calling this typically).\n\nThe cancellation method must thence be called everywhere the CANCELLED state\nis set.  Note that we call it *before* setting the CANCELLED state such that\nthe method can use the old state value to guide its operation.\n\nfscache_do_cancel_retrieval() needs moving higher up in the sources so that\nthe init function can use it now.\n\nWithout this, the following oops may be seen:\n\n\tFS-Cache: Assertion failed\n\tFS-Cache: 3 == 0 is false\n\t------------[ cut here ]------------\n\tkernel BUG at ../fs/fscache/page.c:261!\n\t...\n\tRIP: 0010:[<ffffffffa0089c1b>]  fscache_release_retrieval_op+0x77/0x100\n\t [<ffffffffa008853d>] fscache_put_operation+0x114/0x2da\n\t [<ffffffffa008b8c2>] __fscache_read_or_alloc_pages+0x358/0x3b3\n\t [<ffffffffa00b761f>] __nfs_readpages_from_fscache+0x59/0xbf [nfs]\n\t [<ffffffffa00b06c5>] nfs_readpages+0x10c/0x185 [nfs]\n\t [<ffffffff81124925>] ? alloc_pages_current+0x119/0x13e\n\t [<ffffffff810ee5fd>] ? __page_cache_alloc+0xfb/0x10a\n\t [<ffffffff810f87f8>] __do_page_cache_readahead+0x188/0x22c\n\t [<ffffffff810f8b3a>] ondemand_readahead+0x29e/0x2af\n\t [<ffffffff810f8c92>] page_cache_sync_readahead+0x38/0x3a\n\t [<ffffffff810ef337>] generic_file_read_iter+0x1a2/0x55a\n\t [<ffffffffa00a9dff>] ? nfs_revalidate_mapping+0xd6/0x288 [nfs]\n\t [<ffffffffa00a6a23>] nfs_file_read+0x49/0x70 [nfs]\n\t [<ffffffff811363be>] new_sync_read+0x78/0x9c\n\t [<ffffffff81137164>] __vfs_read+0x13/0x38\n\t [<ffffffff8113721e>] vfs_read+0x95/0x121\n\t [<ffffffff811372f6>] SyS_read+0x4c/0x8a\n\t [<ffffffff81557a52>] system_call_fastpath+0x12/0x17\n\nThe assertion is showing that the remaining number of pages (n_pages) is not 0\nwhen the operation is being released.\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/d3b97ca4a99e4e6c78f5a21c968eadf5c8ba9971"},{"sha":"4a47132ff472a0c2c5441baeb50cf97f2580bc43","author":{"email":"ebac1d06c1688626821bb0e574a037a7a5354e49@redhat.com","name":"David Howells"},"message":"FS-Cache: Retain the netfs context in the retrieval op earlier\n\nNow that the retrieval operation may be disposed of by fscache_put_operation()\nbefore we actually set the context, the retrieval-specific cleanup operation\ncan produce a NULL-pointer dereference when it tries to unconditionally clean\nup the netfs context.\n\nGiven that it is expected that we'll get at least as far as the place where we\ncurrently set the context pointer and it is unlikely we'll go through the\nerror handling paths prior to that point, retain the context right from the\npoint that the retrieval op is allocated.\n\nConcomitant to this, we need to retain the cookie pointer in the retrieval op\nalso so that we can call the netfs to release its context in the release\nmethod.\n\nIn addition, we might now get into fscache_release_retrieval_op() with the op\nonly initialised.  To this end, set the operation to DEAD only after the\nrelease method has been called and skip the n_pages test upon cleanup if the\nop is still in the INITIALISED state.\n\nWithout these changes, the following oops might be seen:\n\n\tBUG: unable to handle kernel NULL pointer dereference at 00000000000000b8\n\t...\n\tRIP: 0010:[<ffffffffa0089c98>] fscache_release_retrieval_op+0xae/0x100\n\t...\n\tCall Trace:\n\t [<ffffffffa0088560>] fscache_put_operation+0x117/0x2e0\n\t [<ffffffffa008b8f5>] __fscache_read_or_alloc_pages+0x351/0x3ac\n\t [<ffffffffa00b761f>] __nfs_readpages_from_fscache+0x59/0xbf [nfs]\n\t [<ffffffffa00b06c5>] nfs_readpages+0x10c/0x185 [nfs]\n\t [<ffffffff81124925>] ? alloc_pages_current+0x119/0x13e\n\t [<ffffffff810ee5fd>] ? __page_cache_alloc+0xfb/0x10a\n\t [<ffffffff810f87f8>] __do_page_cache_readahead+0x188/0x22c\n\t [<ffffffff810f8b3a>] ondemand_readahead+0x29e/0x2af\n\t [<ffffffff810f8c92>] page_cache_sync_readahead+0x38/0x3a\n\t [<ffffffff810ef337>] generic_file_read_iter+0x1a2/0x55a\n\t [<ffffffffa00a9dff>] ? nfs_revalidate_mapping+0xd6/0x288 [nfs]\n\t [<ffffffffa00a6a23>] nfs_file_read+0x49/0x70 [nfs]\n\t [<ffffffff811363be>] new_sync_read+0x78/0x9c\n\t [<ffffffff81137164>] __vfs_read+0x13/0x38\n\t [<ffffffff8113721e>] vfs_read+0x95/0x121\n\t [<ffffffff811372f6>] SyS_read+0x4c/0x8a\n\t [<ffffffff81557a52>] system_call_fastpath+0x12/0x17\n\nSigned-off-by: David Howells <dhowells@redhat.com>\nReviewed-by: Steve Dickson <steved@redhat.com>\nAcked-by: Jeff Layton <jeff.layton@primarydata.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/4a47132ff472a0c2c5441baeb50cf97f2580bc43"},{"sha":"d4bd441532b81fe2be1706e7f9dbbe8b5a364bcf","author":{"email":"cbfd8e8fabdd2f11e58abb6fa6436d3d90debaf4@suse.cz","name":"Miroslav Benes"},"message":"x86/kaslr: Fix typo in the KASLR_FLAG documentation\n\nDocumentation/x86/boot.txt labels the bit in\nboot_params.hdr.loadflags as ALSR_FLAG while it should be\nKASLR_FLAG.\n\nSigned-off-by: Miroslav Benes <mbenes@suse.cz>\nSigned-off-by: Borislav Petkov <bp@suse.de>\nCc: Andy Lutomirski <luto@amacapital.net>\nCc: Borislav Petkov <bp@alien8.de>\nCc: Brian Gerst <brgerst@gmail.com>\nCc: Denys Vlasenko <dvlasenk@redhat.com>\nCc: H. Peter Anvin <hpa@zytor.com>\nCc: Jiri Kosina <jkosina@suse.cz>\nCc: Jonathan Corbet <corbet@lwn.net>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Thomas Gleixner <tglx@linutronix.de>\nLink: http://lkml.kernel.org/r/1429011324-7170-1-git-send-email-mbenes@suse.cz\nLink: http://lkml.kernel.org/r/1431332153-18566-4-git-send-email-bp@alien8.de\nSigned-off-by: Ingo Molnar <mingo@kernel.org>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/d4bd441532b81fe2be1706e7f9dbbe8b5a364bcf"},{"sha":"1b852bceb0d111e510d1a15826ecc4a19358d512","author":{"email":"8a741aa8cbd77ebc4a56ddb528ce9fd15d42f034@xmission.com","name":"Eric W. Biederman"},"message":"mnt: Refactor the logic for mounting sysfs and proc in a user namespace\n\nFresh mounts of proc and sysfs are a very special case that works very\nmuch like a bind mount.  Unfortunately the current structure can not\npreserve the MNT_LOCK... mount flags.  Therefore refactor the logic\ninto a form that can be modified to preserve those lock bits.\n\nAdd a new filesystem flag FS_USERNS_VISIBLE that requires some mount\nof the filesystem be fully visible in the current mount namespace,\nbefore the filesystem may be mounted.\n\nMove the logic for calling fs_fully_visible from proc and sysfs into\nfs/namespace.c where it has greater access to mount namespace state.\n\nCc: stable@vger.kernel.org\nSigned-off-by: \"Eric W. Biederman\" <ebiederm@xmission.com>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/1b852bceb0d111e510d1a15826ecc4a19358d512"},{"sha":"f75b6fae1a1d0a79dcbb9cbaed1d06bf3fe57a3c","author":{"email":"380ce2a82d3d08e67ab163b51dc6d30288ad3f13@mellanox.com","name":"Sagi Grimberg"},"message":"target: Merge sbc_verify_dif_read|write\n\nInstead of providing DIF verify routines for read/write\nthat are almost identical and conditionally copy protection\ninformation, just let the caller do the right thing.\n\nHave a single sbc_dif_verify that handles an sgl (that\ndoes NOT copy any data) and a protection information copy\nroutine used by rd_mcp and fileio backend.\n\nIn the WRITE case, call sbc_dif_verify with cmd->t_prot_sg\nand then do the copy from it to local sgl (assuming the verify\nsucceeded of course). In the READ case, call sbc_dif_verify\nwith the local sgl and if it succeeds, copy it to t_prot_sg (or\nnot if we are stripping it).\n\n(Fix apply breakage from commit c836777 - nab)\n\nTested-by: Akinobu Mita <akinobu.mita@gmail.com>\nSigned-off-by: Sagi Grimberg <sagig@mellanox.com>\nSigned-off-by: Nicholas Bellinger <nab@linux-iscsi.org>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/f75b6fae1a1d0a79dcbb9cbaed1d06bf3fe57a3c"},{"sha":"8287fa5fb43c3fa05748560b8e13b91c4e88f586","author":{"email":"380ce2a82d3d08e67ab163b51dc6d30288ad3f13@mellanox.com","name":"Sagi Grimberg"},"message":"target/file: Remove fd_prot bounce buffer\n\nThe reason this bounce buffer exists is to allow code\nreuse between rd_mcp and fileio in DIF mode. But the fact is,\nthat this bounce is really not needed at all, we can simply call\nsbc_dif_verify on cmd->t_prot_sg and use it for file IO.\n\nThis also removes fd_do_prot_rw as fd_do_rw was generalised\nto receive file pointer, block size (8 bytes for DIF data) and\ntotal data length.\n\n(Fix apply breakage from commit c836777 - nab)\n\nTested-by: Akinobu Mita <akinobu.mita@gmail.com>\nSigned-off-by: Sagi Grimberg <sagig@mellanox.com>\nSigned-off-by: Nicholas Bellinger <nab@linux-iscsi.org>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/8287fa5fb43c3fa05748560b8e13b91c4e88f586"},{"sha":"414e4627277e38e3a557c53c9def7fe9f1ec9b2c","author":{"email":"380ce2a82d3d08e67ab163b51dc6d30288ad3f13@mellanox.com","name":"Sagi Grimberg"},"message":"target/sbc: Fix sbc_dif_verify inconsistent map/unmap\n\nFix map/unmap consistency and get rid of a redundant\nlocal variable psg.\n\nReported-by: Akinobu Mita <akinobu.mita@gmail.com>\nSigned-off-by: Sagi Grimberg <sagig@mellanox.com>\nSigned-off-by: Nicholas Bellinger <nab@linux-iscsi.org>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/414e4627277e38e3a557c53c9def7fe9f1ec9b2c"},{"sha":"c04a6091c951c88636a569cdd29feb65fb5003af","author":{"email":"1930e27f67e1e10d51770b88cb06d386f1aa46ae@fastmail.fm","name":"Christophe Vu-Brugier"},"message":"iscsi-target: remove support for obsolete markers\n\nSupport for markers is currently broken because of a bug in\niscsi_enforce_integrity_rules(): the \"IFMarkInt_Reject\" and\n\"OFMarkInt_Reject\" variables are always equal to 1 in\niscsi_enforce_integrity_rules().\n\nMoreover, fixed interval markers keys (IFMarker, OFMarker, IFMarkInt\nand OFMarkInt) are obsolete according to iSCSI RFC 7143:\n\n>From http://tools.ietf.org/html/rfc7143#section-13.25:\n\n   13.25.  Obsoleted Keys\n\n   This document obsoletes the following keys defined in [RFC3720]:\n   IFMarker, OFMarker, OFMarkInt, and IFMarkInt.  However, iSCSI\n   implementations compliant to this document may still receive these\n   obsoleted keys -- i.e., in a responder role -- in a text negotiation.\n\n   When an IFMarker or OFMarker key is received, a compliant iSCSI\n   implementation SHOULD respond with the constant \"Reject\" value.  The\n   implementation MAY alternatively respond with a \"No\" value.\n\n   However, the implementation MUST NOT respond with a \"NotUnderstood\"\n   value for either of these keys.\n\n   When an IFMarkInt or OFMarkInt key is received, a compliant iSCSI\n   implementation MUST respond with the constant \"Reject\" value.  The\n   implementation MUST NOT respond with a \"NotUnderstood\" value for\n   either of these keys.\n\nThis patch disables markers by turning the corresponding parameters to\nread-only. The default value of IFMarker and OFMarker remains \"No\" but\nthe user cannot change it to \"Yes\" anymore. The new value of IFMarkInt\nand OFMarkInt is \"Reject\".\n\n(Drop left-over iscsi_get_value_from_number_range + make configfs\n parameters attrs R/W nops - nab)\n\nSigned-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>\nSigned-off-by: Nicholas Bellinger <nab@linux-iscsi.org>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/c04a6091c951c88636a569cdd29feb65fb5003af"},{"sha":"814e5b45182f4aaf6c0b0deac7104bc2cba5109e","author":{"email":"923f7720577207a44b32e59bbfbea59d27f1ae8e@lst.de","name":"Christoph Hellwig"},"message":"target: fix DPO and FUA bit checks\n\nDrivers may override the WCE flag, in which case the DPOFUA flag in\nMODE SENSE might differ from the check used to reject invalid FUA\nbits in sbc_check_dpofua.  Also now that we reject invalid FUA\nbits early there is no need to duplicate the same buggy check\ndown in the fileio code.\n\nAs the DPOFUA flag controls th support for FUA bits on read and\nwrite commands as well as DPO key off all the checks off a single\nhelper, and deprecate the emulate_dpo and emulate_fua_read attributs.\n\nThis fixes various failures in the libiscsi testsuite.\n\nPersonally I'd prefer to also remove the emulate_fua_write attribute\nas there is no good reason to disable it, but I'll leave that for\na separate discussion.\n\nSigned-off-by: Christoph Hellwig <hch@lst.de>\nSigned-off-by: Nicholas Bellinger <nab@linux-iscsi.org>","distinct":false,"url":"https://api.github.com/repos/r1mikey/linux-picoxcell/commits/814e5b45182f4aaf6c0b0deac7104bc2cba5109e"}]}