-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync up with Linus #87
Commits on Jul 3, 2015
-
SUNRPC: Don't reencode message if transmission failed with ENOBUFS
If we're running out of buffer memory when transmitting data, then we want to just delay for a moment, and then continue transmitting the remainder of the message. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 93aa6c7 - Browse repository at this point
Copy the full SHA 93aa6c7View commit details -
SUNRPC: Don't confuse ENOBUFS with a write_space issue
ENOBUFS means that memory allocations are failing due to an actual low memory situation. It should not be confused with being out of socket buffer space. Handle the problem by just punting to the delay in call_status. Reported-by: Neil Brown <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b5872f0 - Browse repository at this point
Copy the full SHA b5872f0View commit details
Commits on Jul 5, 2015
-
NFSv4.1: Handle SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED status bit cor…
…rectly. If the server tells us that only some state has been revoked, then we need to run the full TEST_STATEID dog and pony show in order to discover which locks and delegations are still OK. Currently we blow away all state, which means that we lose all locks! Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8b895ce - Browse repository at this point
Copy the full SHA 8b895ceView commit details -
NFSv4.1: Handle SEQ4_STATUS_RECALLABLE_STATE_REVOKED status bit corre…
…ctly Try to handle this for now by invalidating all outstanding layouts for this server and then testing all the open+lock+delegation stateids. At some later stage, we may want to optimise by separating out the testing of delegation stateids only, and adding testing of layout stateids. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4099287 - Browse repository at this point
Copy the full SHA 4099287View commit details -
NFSv4.1: Handle SEQ4_STATUS_BACKCHANNEL_FAULT correctly
RFC5661 states: The server has encountered an unrecoverable fault with the backchannel (e.g., it has lost track of the sequence ID for a slot in the backchannel). The client MUST stop sending more requests on the session's fore channel, wait for all outstanding requests to complete on the fore and back channel, and then destroy the session. Ensure we do so... Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b135290 - Browse repository at this point
Copy the full SHA b135290View commit details -
NFSv4.1: nfs41_sequence_done should handle sequence flag errors
Instead of just kicking off lease recovery, we should look into the sequence flag errors and handle them. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b15c7cd - Browse repository at this point
Copy the full SHA b15c7cdView commit details -
NFSv4: Leases are renewed in sequence_done when we have sessions
Ensure that the calls to renew_lease() in open_done() etc. only apply to session-less versions of NFSv4.x (i.e. NFSv4.0). Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be82416 - Browse repository at this point
Copy the full SHA be82416View commit details
Commits on Jul 7, 2015
-
target/pr: Fix possible uninitialized variable usage
Triggered a compilation warning. Fixes: 2650d71 target: move transport ID handling to the core Signed-off-by: Sagi Grimberg <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9b353cc - Browse repository at this point
Copy the full SHA 9b353ccView commit details -
target/spc: Set SPT correctly in Extended INQUIRY Data VPD page
LIO supports protection types 1,3 so setting a hard-coded SPT=3 is fine for now. Signed-off-by: Sagi Grimberg <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 27e6772 - Browse repository at this point
Copy the full SHA 27e6772View commit details -
target: Add extra TYPE_DISK + protection checks for INQUIRY SPT
Cc: Sagi Grimberg <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3aa3c67 - Browse repository at this point
Copy the full SHA 3aa3c67View commit details -
target/rd: Set ramdisk as non rotational device
Since a RAM backend device is not really a rotational device, we set it as is_nonrot=1 which will be forwarded in VPD page 0xb1 (block device characteristics) response. Signed-off-by: Sagi Grimberg <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5dacbfc - Browse repository at this point
Copy the full SHA 5dacbfcView commit details
Commits on Jul 8, 2015
-
NFSv4.2/flexfiles: Fix a typo in the flexfiles layoutstats code
Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 690edcf - Browse repository at this point
Copy the full SHA 690edcfView commit details
Commits on Jul 11, 2015
-
pNFS: Layoutreturn must invalidate all existing layout segments.
Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c5d7371 - Browse repository at this point
Copy the full SHA c5d7371View commit details -
pNFS: pnfs_roc_drain should return 'true' when sleeping
Also clean up the case where we don't find a return-on-close layout segment. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for df9cecc - Browse repository at this point
Copy the full SHA df9ceccView commit details -
pNFS: Fix races between return-on-close and layoutreturn.
If one or more of the layout segments reports an error during I/O, then we may have to send a layoutreturn to report the error back to the NFS metadata server. This patch ensures that the return-on-close code can detect the outstanding layoutreturn, and not preempt it. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7f27392 - Browse repository at this point
Copy the full SHA 7f27392View commit details -
pNFS: pnfs_roc_drain() fix a race with open
If a process reopens the file before we can send off the CLOSE/DELEGRETURN, then pnfs_roc_drain() may end up waiting for a new set of layout segments that are marked as return-on-close, but haven't yet been returned. Fix this by only waiting for those layout segments that were invalidated in pnfs_roc(). Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bdc59cf - Browse repository at this point
Copy the full SHA bdc59cfView commit details -
pNFS: Don't throw out valid layout segments
It is OK for layout segments to remain hashed even if no-one holds any references to them, provided that the segments are still valid. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for faa4a54 - Browse repository at this point
Copy the full SHA faa4a54View commit details
Commits on Jul 21, 2015
-
selftests/futex: Fix futex_cmp_requeue_pi() error handling
An earlier (pre-kernel-integration) refactoring of this code mistakenly replaced the error condition, <, with a >. Use < to detect an error as opposed to a successful requeue or signal race. Reported-by: David Binderman <[email protected]> Cc: Shuah Khan <[email protected]> Signed-off-by: Darren Hart <[email protected]> Signed-off-by: Shuah Khan <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fee50f3 - Browse repository at this point
Copy the full SHA fee50f3View commit details
Commits on Jul 22, 2015
-
SUNRPC: Fix a backchannel deadlock
xprt_alloc_bc_request() cannot call xprt_free_bc_request() without deadlocking, since it already holds the xprt->bc_pa_lock. Reported-by: Chuck Lever <[email protected]> Fixes: 0d2a970 ("SUNRPC: Fix a backchannel race") Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6851447 - Browse repository at this point
Copy the full SHA 6851447View commit details -
SUNRPC: xprt_complete_bc_request must also decrement the free slot count
Calling xprt_complete_bc_request() effectively causes the slot to be allocated, so it needs to decrement the backchannel free slot count as well. Fixes: 0d2a970 ("SUNRPC: Fix a backchannel race") Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1980bd4 - Browse repository at this point
Copy the full SHA 1980bd4View commit details -
NFSv4: We must set NFS_OPEN_STATE flag in nfs_resync_open_stateid_locked
Otherwise, nfs4_select_rw_stateid() will always return the zero stateid instead of the correct open stateid. Fixes: f95549c ("NFSv4: More CLOSE/OPEN races") Cc: [email protected] # 4.0+ Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3c38cbe - Browse repository at this point
Copy the full SHA 3c38cbeView commit details -
NFSv4/pnfs: Ensure we don't miss a file extension
pNFS writes don't return attributes, however that doesn't mean that we should ignore the fact that they may be extending the file. This patch ensures that if a write is seen to extend the file, then we always set an attribute barrier, and update the cached file size. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2b83d3d - Browse repository at this point
Copy the full SHA 2b83d3dView commit details -
NFS: Don't revalidate the mapping if both size and change attr are up…
… to date If we've ensured that the size and the change attribute are both correct, then there is no point in marking those attributes as needing revalidation again. Only do so if we know the size is incorrect and was not updated. Fixes: f2467b6 ("NFS: Clear NFS_INO_REVAL_PAGECACHE when...") Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 85a23ce - Browse repository at this point
Copy the full SHA 85a23ceView commit details -
NFS: Set NFS_INO_REVAL_PAGECACHE if the change attribute is uninitial…
…ised We can't allow caching of data until the change attribute has been initialised correctly. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5c675d6 - Browse repository at this point
Copy the full SHA 5c675d6View commit details -
NFS: Remove the "NFS_CAP_CHANGE_ATTR" capability
Setting the change attribute has been mandatory for all NFS versions, since commit 3a1556e ("NFSv2/v3: Simulate the change attribute"). We should therefore not have anything be conditional on it being set/unset. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cd81259 - Browse repository at this point
Copy the full SHA cd81259View commit details -
NFS: nfs_mark_for_revalidate should always set NFS_INO_REVAL_PAGECACHE
I'm not aware of any existing bugs around this, but the expectation is that nfs_mark_for_revalidate() should always force a revalidation of the cached metadata. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 115c48d - Browse repository at this point
Copy the full SHA 115c48dView commit details
Commits on Jul 24, 2015
-
tcm_qla2xxx: pass timeout as HZ independent value
API compliance scanning with coccinelle flagged: ./drivers/scsi/qla2xxx/tcm_qla2xxx.c:407:2-29: WARNING: timeout is HZ dependent This was introduced in 'commit 75f8c1f ("[SCSI] tcm_qla2xxx: Add >= 24xx series fabric module for target-core")'. wait_for_completion_timeout() expects a timeout in jiffies so the numeric constant makes the effective timeout HZ dependent. Resolved by converting it to CONST * HZ. Signed-off-by: Nicholas Mc Guire <[email protected]> Acked-by: Nilesh Javali <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fd4e139 - Browse repository at this point
Copy the full SHA fd4e139View commit details -
target: Indicate success if writing 0 to pi_prot_type
See https://bugzilla.redhat.com/show_bug.cgi?id=1240687 Returning 0 from a configfs store function results in infinite retries. Reported-by: Yanko Kaneti <[email protected]> Signed-off-by: Andy Grover <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bc1a7d6 - Browse repository at this point
Copy the full SHA bc1a7d6View commit details -
target: Do not return 0 from aptpl and alua configfs store functions
Here are some more instances where we are returning 0 from a configfs store function, the unintended result of which is likely infinite retries from userspace. Signed-off-by: Andy Grover <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9105bfc - Browse repository at this point
Copy the full SHA 9105bfcView commit details -
target/configfs: handle match_int() errors
As a follow up to ce31c1b - there are still a few LIO match_int() calls that don't check the return value. Propagate errors rather than using the potentially uninitialised result. Signed-off-by: David Disseldorp <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c209102 - Browse repository at this point
Copy the full SHA c209102View commit details -
RDMA/cxgb3: fail get_dma_mr on 64 bit arches
T3 HW only supports 32 bit MRs. If the system uses 64 bit memory addresses, then a registered 32 bit MR will wrap and write to the wrong memory when used with addresses > 4GB. To prevent this, simply fail to allocate an MR on 64 bit machines (other means of registering memory are still available and software can still work, we just don't allow this means of memory registration). Signed-off-by: Steve Wise <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 49fa63d - Browse repository at this point
Copy the full SHA 49fa63dView commit details -
IB/ipoib: Fix CONFIG_INFINIBAND_IPOIB_CM
If the above is turned off then ipoib_cm_dev_init unconditionally returns ENOSYS, and the newly added error handling in 0b3957 prevents ipoib from coming up at all: kernel: mlx4_0: ipoib_transport_dev_init failed kernel: mlx4_0: failed to initialize port 1 (ret = -12) Fixes: 0b39578 (IB/ipoib: Use dedicated workqueues per interface) Signed-off-by: Jason Gunthorpe <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for efc1eed - Browse repository at this point
Copy the full SHA efc1eedView commit details -
RDMA/ocrdma: update ocrdma license to dual-license
Change of license from GPLv2 to dual-license (GPLv2 and BSD 2-Clause) All contributors were contacted off-list and permission to make this change was received. The complete list of contributors are Cc:ed here. Cc: Tejun Heo <[email protected]> Cc: Duan Jiong <[email protected]> Cc: Roland Dreier <[email protected]> Cc: Jes Sorensen <[email protected]> Cc: Sasha Levin <[email protected]> Cc: Dan Carpenter <[email protected]> Cc: Prarit Bhargava <[email protected]> Cc: Colin Ian King <[email protected]> Cc: Wei Yongjun <[email protected]> Cc: Moni Shoua <[email protected]> Cc: Rasmus Villemoes <[email protected]> Cc: Li RongQing <[email protected]> Cc: Devendra Naga <[email protected]> Signed-off-by: Devesh Sharma <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 71ee673 - Browse repository at this point
Copy the full SHA 71ee673View commit details -
RDMA/ocrdma: update ocrdma module license string
Change module_license from "GPL" to "Dual BSD/GPL" Cc: Tejun Heo <[email protected]> Cc: Duan Jiong <[email protected]> Cc: Roland Dreier <[email protected]> Cc: Jes Sorensen <[email protected]> Cc: Sasha Levin <[email protected]> Cc: Dan Carpenter <[email protected]> Cc: Prarit Bhargava <[email protected]> Cc: Colin Ian King <[email protected]> Cc: Wei Yongjun <[email protected]> Cc: Moni Shoua <[email protected]> Cc: Rasmus Villemoes <[email protected]> Cc: Li RongQing <[email protected]> Cc: Devendra Naga <[email protected]> Signed-off-by: Devesh Sharma <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b8f5595 - Browse repository at this point
Copy the full SHA b8f5595View commit details -
When we open a device file descriptor, we currently have the following: vfio_group_get_device_fd() mutex_lock(&group->device_lock); open() ... if (ret) release() If we hit that error case, we call the backend driver release path, which for vfio-pci looks like this: vfio_pci_release() vfio_pci_disable() vfio_pci_try_bus_reset() vfio_pci_get_devs() vfio_device_get_from_dev() vfio_group_get_device() mutex_lock(&group->device_lock); Whoops, we've stumbled back onto group.device_lock and created a deadlock. There's a low likelihood of ever seeing this play out, but obviously it needs to be fixed. To do that we can use a reference to the vfio_device for vfio_group_get_device_fd() rather than holding the lock. There was a loop in this function, theoretically allowing multiple devices with the same name, but in practice we don't expect such a thing to happen and the code is already aborting from the loop with break on any sort of error rather than continuing and only parsing the first match anyway, so the loop was effectively unused already. Signed-off-by: Alex Williamson <[email protected]> Fixes: 20f3001 ("vfio/pci: Fix racy vfio_device_get_from_dev() call") Reported-by: Joerg Roedel <[email protected]> Tested-by: Joerg Roedel <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4bc94d5 - Browse repository at this point
Copy the full SHA 4bc94d5View commit details -
qla2xxx: Fix hardware lock/unlock issue causing kernel panic.
[ Upstream commit ef86cb2 ] This patch fixes a kernel panic for qla2xxx Target core Module driver introduced by a fix in the qla2xxx initiator code. Commit ef86cb2 ("qla2xxx: Mark port lost when we receive an RSCN for it.") introduced the regression for qla2xxx Target driver. Stack trace will have following signature --- <NMI exception stack> --- [ffff88081faa3cc8] _raw_spin_lock_irqsave at ffffffff815b1f03 [ffff88081faa3cd0] qlt_fc_port_deleted at ffffffffa096ccd0 [qla2xxx] [ffff88081faa3d20] qla2x00_schedule_rport_del at ffffffffa0913831[qla2xxx] [ffff88081faa3d50] qla2x00_mark_device_lost at ffffffffa09159c5[qla2xxx] [ffff88081faa3db0] qla2x00_async_event at ffffffffa0938d59 [qla2xxx] [ffff88081faa3e30] qla24xx_msix_default at ffffffffa093a326 [qla2xxx] [ffff88081faa3e90] handle_irq_event_percpu at ffffffff810a7b8d [ffff88081faa3ee0] handle_irq_event at ffffffff810a7d32 [ffff88081faa3f10] handle_edge_irq at ffffffff810ab6b9 [ffff88081faa3f30] handle_irq at ffffffff8100619c [ffff88081faa3f70] do_IRQ at ffffffff815b4b1c --- <IRQ stack> --- Cc: <[email protected]> # v3.18+ Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Reviewed-by: Nicholas Bellinger <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ba9f6f6 - Browse repository at this point
Copy the full SHA ba9f6f6View commit details -
qla2xxx: Enable target mode for ISP27XX
Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Giridhar Malavali <[email protected]> Reviewed-by: Nicholas Bellinger <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b20f02e - Browse repository at this point
Copy the full SHA b20f02eView commit details -
qla2xxx: Add flush after updating ATIOQ consumer index.
After updating the consumer index of ATIO Q, a read is required to flush the write to the adapter register. Signed-off-by: Quinn Tran <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Reviewed-by: Nicholas Bellinger <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3761f3e - Browse repository at this point
Copy the full SHA 3761f3eView commit details -
qla2xxx: release request queue reservation.
Request IOCB queue element(s) is reserved during good path IO. Under error condition such as unable to allocate IOCB handle condition, the IOCB count that was reserved is not released. Cc: <[email protected]> # v3.18+ Signed-off-by: Quinn Tran <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Reviewed-by: Nicholas Bellinger <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 810e30b - Browse repository at this point
Copy the full SHA 810e30bView commit details -
Adjust debug flag to match debug comment. Signed-off-by: Quinn Tran <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Reviewed-by: Nicholas Bellinger <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e5fdee8 - Browse repository at this point
Copy the full SHA e5fdee8View commit details -
qla2xxx: Remove msleep in qlt_send_term_exchange
Remove unnecessary msleep from qlt_send_term_exchange as it adds latency of 250 msec while sending terminate exchange to an aborted task. Cc: <[email protected]> # v3.18+ Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Giridhar Malavali <[email protected]> Reviewed-by: Nicholas Bellinger <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6bc85dd - Browse repository at this point
Copy the full SHA 6bc85ddView commit details -
qla2xxx: fix command initialization in target mode.
Cc: <[email protected]> # v3.18+ Signed-off-by: Kanoj Sarcar <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Reviewed-by: Nicholas Bellinger <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9fce125 - Browse repository at this point
Copy the full SHA 9fce125View commit details -
qla2xxx: kill sessions/log out initiator on RSCN and port down events
To fix some issues talking to ESX, this patch modifies the qla2xxx driver so that it never logs into remote ports. This has the side effect of getting rid of the "rports" entirely, which means we never log out of initiators and never tear down sessions when an initiator goes away. This is mostly OK, except that we can run into trouble if we have initiator A assigned FC address X:Y:Z by the fabric talking to us, and then initiator A goes away. Some time (could be a long time) later, initiator B comes along and also gets FC address X:Y:Z (which is available again, because initiator A is gone). If initiator B starts talking to us, then we'll still have the session for initiator A, and since we look up incoming IO based on the FC address X:Y:Z, initiator B will end up using ACLs for initiator A. Fix this by: 1. Handling RSCN events somewhat differently; instead of completely skipping the processing of fcports, we look through the list, and if an fcport disappears, we tell the target code the tear down the session and tell the HBA FW to release the N_Port handle. 2. Handling "port down" events by flushing all of our sessions. The firmware was already releasing the N_Port handle but we want the target code to drop all the sessions too. Cc: <[email protected]> # v3.18+ Signed-off-by: Roland Dreier <[email protected]> Signed-off-by: Alexei Potashnik <[email protected]> Acked-by: Quinn Tran <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b2032fd - Browse repository at this point
Copy the full SHA b2032fdView commit details -
qla2xxx: cleanup cmd in qla workqueue before processing TMR
Since cmds go into qla_tgt_wq and TMRs don't, it's possible that TMR like TASK_ABORT can be queued over the cmd for which it was meant. To avoid this race, use a per-port list to keep track of cmds that are enqueued to qla_tgt_wq but not yet processed. When a TMR arrives, iterate through this list and remove any cmds that match the TMR. This patch supports TASK_ABORT and LUN_RESET. Cc: <[email protected]> # v3.18+ Signed-off-by: Swapnil Nagle <[email protected]> Signed-off-by: Alexei Potashnik <[email protected]> Acked-by: Quinn Tran <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8b2f5ff - Browse repository at this point
Copy the full SHA 8b2f5ffView commit details -
qla2xxx: delay plogi/prli ack until existing sessions are deleted
- keep qla_tgt_sess object on the session list until it's freed - modify use of sess->deleted flag to differentiate delayed session deletion that can be cancelled from irreversible one: QLA_SESS_DELETION_PENDING vs QLA_SESS_DELETION_IN_PROGRESS - during IN_PROGRESS deletion all newly arrived commands and TMRs will be rejected, existing commands and TMRs will be terminated when given by the core to the fabric or simply dropped if session logout has already happened (logout terminates all existing exchanges) - new PLOGI will initiate deletion of the following sessions (unless deletion is already IN_PROGRESS): - with the same port_name (with logout) - different port_name, different loop_id but the same port_id (with logout) - different port_name, different port_id, but the same loop_id (without logout) - additionally each new PLOGI will store imm notify iocb in the same port_name session being deleted. When deletion process completes this iocb will be acked. Only the most recent PLOGI iocb is stored. The older ones will be terminated when replaced. - new PRLI will initiate deletion of the following sessions (unless deletion is already IN_PROGRESS): - different port_name, different port_id, but the same loop_id (without logout) Cc: <[email protected]> # v3.18+ Signed-off-by: Alexei Potashnik <[email protected]> Acked-by: Quinn Tran <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a6ca887 - Browse repository at this point
Copy the full SHA a6ca887View commit details -
qla2xxx: Abort stale cmds on qla_tgt_wq when plogi arrives
cancel any commands from initiator's s_id that are still waiting on qla_tgt_wq when PLOGI arrives. Cc: <[email protected]> # v3.18+ Signed-off-by: Alexei Potashnik <[email protected]> Acked-by: Quinn Tran <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for daddf5c - Browse repository at this point
Copy the full SHA daddf5cView commit details -
qla2xxx: added sess generations to detect RSCN update races
RSCN processing in qla2xxx driver can run in parallel with ELS/IO processing. As such the decision to remove disappeared fc port's session could be stale, because a new login sequence has occurred since and created a brand new session. Previous mechanism of dealing with this by delaying deletion request was prone to erroneous deletions if the event that was supposed to cancel the deletion never arrived or has been delayed in processing. New mechanism relies on a time-like generation counter to serialize RSCN updates relative to ELS/IO updates. Cc: <[email protected]> # v3.18+ Signed-off-by: Alexei Potashnik <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for df67327 - Browse repository at this point
Copy the full SHA df67327View commit details -
qla2xxx: disable scsi_transport_fc registration in target mode
There are multiple reasons for disabling this: 1. It provides no functional benefit. We pretty much only get a few more sysfs entries for each port, but all that information is already available from /sys/kernel/debug/target/qla-session-X 2. It already only works in private-loop mode. By disabling we'll be getting more uniform behavior with fabric mode. 3. It creates complications for the new PLOGI handling mechanism: scsi_transport_fc port deletion timer could race with new session from initiator and cause logout after successful login. Cc: <[email protected]> # v3.18+ Signed-off-by: Alexei Potashnik <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d20ed91 - Browse repository at this point
Copy the full SHA d20ed91View commit details -
qla2xxx: drop cmds/tmrs arrived while session is being deleted
If a new initiator (different WWN) shows up on the same fcport, old initiator's session is scheduled for deletion. But there is a small window between it being marked with QLA_SESS_DELETION_IN_PROGRESS and qlt_unret_sess getting called when new session's commands will keep finding old session in the fcport map. This patch drops cmds/tmrs if they find session in the progress of being deleted. Cc: <[email protected]> # v3.18+ Signed-off-by: Alexei Potashnik <[email protected]> Acked-by: Quinn Tran <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e52a8b4 - Browse repository at this point
Copy the full SHA e52a8b4View commit details -
qla2xxx: terminate exchange when command is aborted by LIO
The newly introduced aborted_task TFO callback has to terminate exchange with QLogic driver, since command is being deleted and no status will be queued to the driver at a later point. This patch also moves the burden of releasing one cmd refcount to the aborted_task handler. Changed iSCSI aborted_task logic to satisfy the above requirement. Cc: <[email protected]> # v3.18+ Signed-off-by: Alexei Potashnik <[email protected]> Acked-by: Quinn Tran <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7359df2 - Browse repository at this point
Copy the full SHA 7359df2View commit details -
iscsi-target: Fix use-after-free during TPG session shutdown
This patch fixes a use-after-free bug in iscsit_release_sessions_for_tpg() where se_portal_group->session_lock was incorrectly released/re-acquired while walking the active se_portal_group->tpg_sess_list. The can result in a NULL pointer dereference when iscsit_close_session() shutdown happens in the normal path asynchronously to this code, causing a bogus dereference of an already freed list entry to occur. To address this bug, walk the session list checking for the same state as before, but move entries to a local list to avoid dropping the lock while walking the active list. As before, signal using iscsi_session->session_restatement=1 for those list entries to be released locally by iscsit_free_session() code. Reported-by: Sunilkumar Nadumuttlu <[email protected]> Cc: Sunilkumar Nadumuttlu <[email protected]> Cc: <[email protected]> # v3.1+ Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 417c20a - Browse repository at this point
Copy the full SHA 417c20aView commit details -
iscsi-target: Fix iscsit_start_kthreads failure OOPs
This patch fixes a regression introduced with the following commit in v4.0-rc1 code, where a iscsit_start_kthreads() failure triggers a NULL pointer dereference OOPs: commit 88dcd2d Author: Nicholas Bellinger <[email protected]> Date: Thu Feb 26 22:19:15 2015 -0800 iscsi-target: Convert iscsi_thread_set usage to kthread.h To address this bug, move iscsit_start_kthreads() immediately preceeding the transmit of last login response, before signaling a successful transition into full-feature-phase within existing iscsi_target_do_tx_login_io() logic. This ensures that no target-side resource allocation failures can occur after the final login response has been successfully sent. Also, it adds a iscsi_conn->rx_login_comp to allow the RX thread to sleep to prevent other socket related failures until the final iscsi_post_login_handler() call is able to complete. Cc: Sagi Grimberg <[email protected]> Cc: <[email protected]> # v3.10+ Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e541986 - Browse repository at this point
Copy the full SHA e541986View commit details -
iscsi-target: Fix iser explicit logout TX kthread leak
This patch fixes a regression introduced with the following commit in v4.0-rc1 code, where an explicit iser-target logout would result in ->tx_thread_active being incorrectly cleared by the logout post handler, and subsequent TX kthread leak: commit 88dcd2d Author: Nicholas Bellinger <[email protected]> Date: Thu Feb 26 22:19:15 2015 -0800 iscsi-target: Convert iscsi_thread_set usage to kthread.h To address this bug, change iscsit_logout_post_handler_closesession() and iscsit_logout_post_handler_samecid() to only cmpxchg() on ->tx_thread_active for traditional iscsi/tcp connections. This is required because iscsi/tcp connections are invoking logout post handler logic directly from TX kthread context, while iser connections are invoking logout post handler logic from a seperate workqueue context. Cc: Sagi Grimberg <[email protected]> Cc: <[email protected]> # v3.10+ Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 007d038 - Browse repository at this point
Copy the full SHA 007d038View commit details -
iser-target: Fix REJECT CM event use-after-free OOPs
This patch fixes a bug in iser-target code where the REJECT CM event handler code currently performs a isert_put_conn() for the final isert_conn->kref put, while iscsi_np process context is still blocked in isert_get_login_rx(). Once isert_get_login_rx() is awoking due to login timeout, iscsi_np process context will attempt to invoke iscsi_target_login_sess_out() to cleanup iscsi_conn as expected, and calls isert_wait_conn() + isert_free_conn() which triggers the use-after-free OOPs. To address this bug, move the kref_get_unless_zero() call from isert_connected_handler() into isert_connect_request() immediately preceeding isert_rdma_accept() to ensure the CM handler cleanup paths and isert_free_conn() are always operating with two refs. Cc: Sagi Grimberg <[email protected]> Cc: <[email protected]> # v3.10+ Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ce9a9fc - Browse repository at this point
Copy the full SHA ce9a9fcView commit details
Commits on Jul 25, 2015
-
Documentation/target: Fix tcm_mod_builder.py build breakage
Fix build breakage and set the protocol identifier based on the parameter. Fixes: 9ac8928 ("target: simplify the target template registration API") Fixes: e4aae5a ("target: change core_tpg_register prototype") Signed-off-by: Sebastian Herbszt <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c4cfdd8 - Browse repository at this point
Copy the full SHA c4cfdd8View commit details -
f2fs: handle error cases in move_encrypted_block
This patch fixes some missing error handlers. Reviewed-by: Chao Yu <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
Jaegeuk Kim committedJul 25, 2015 Configuration menu - View commit details
-
Copy full SHA for 548aeda - Browse repository at this point
Copy the full SHA 548aedaView commit details -
f2fs: call set_page_dirty to attach i_wb for cgroup
The cgroup attaches inode->i_wb via mark_inode_dirty and when set_page_writeback is called, __inc_wb_stat() updates i_wb's stat. So, we need to explicitly call set_page_dirty->__mark_inode_dirty in prior to any writebacking pages. This patch should resolve the following kernel panic reported by Andreas Reis. https://bugzilla.kernel.org/show_bug.cgi?id=101801 --- Comment #2 from Andreas Reis <[email protected]> --- BUG: unable to handle kernel NULL pointer dereference at 00000000000000a8 IP: [<ffffffff8149deea>] __percpu_counter_add+0x1a/0x90 PGD 2951ff067 PUD 2df43f067 PMD 0 Oops: 0000 [#1] PREEMPT SMP Modules linked in: CPU: 7 PID: 10356 Comm: gcc Tainted: G W 4.2.0-1-cu #1 Hardware name: Gigabyte Technology Co., Ltd. G1.Sniper M5/G1.Sniper M5, BIOS T01 02/03/2015 task: ffff880295044f80 ti: ffff880295140000 task.ti: ffff880295140000 RIP: 0010:[<ffffffff8149deea>] [<ffffffff8149deea>] __percpu_counter_add+0x1a/0x90 RSP: 0018:ffff880295143ac8 EFLAGS: 00010082 RAX: 0000000000000003 RBX: ffffea000a526d40 RCX: 0000000000000001 RDX: 0000000000000020 RSI: 0000000000000001 RDI: 0000000000000088 RBP: ffff880295143ae8 R08: 0000000000000000 R09: ffff88008f69bb30 R10: 00000000fffffffa R11: 0000000000000000 R12: 0000000000000088 R13: 0000000000000001 R14: ffff88041d099000 R15: ffff880084a205d0 FS: 00007f8549374700(0000) GS:ffff88042f3c0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000000000a8 CR3: 000000033e1d5000 CR4: 00000000001406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Stack: 0000000000000000 ffffea000a526d40 ffff880084a20738 ffff880084a20750 ffff880295143b48 ffffffff811cc91e ffff880000000000 0000000000000296 0000000000000000 ffff880417090198 0000000000000000 ffffea000a526d40 Call Trace: [<ffffffff811cc91e>] __test_set_page_writeback+0xde/0x1d0 [<ffffffff813fee87>] do_write_data_page+0xe7/0x3a0 [<ffffffff813faeea>] gc_data_segment+0x5aa/0x640 [<ffffffff813fb0b8>] do_garbage_collect+0x138/0x150 [<ffffffff813fb3fe>] f2fs_gc+0x1be/0x3e0 [<ffffffff81405541>] f2fs_balance_fs+0x81/0x90 [<ffffffff813ee357>] f2fs_unlink+0x47/0x1d0 [<ffffffff81239329>] vfs_unlink+0x109/0x1b0 [<ffffffff8123e3d7>] do_unlinkat+0x287/0x2c0 [<ffffffff8123ebc6>] SyS_unlink+0x16/0x20 [<ffffffff81942e2e>] entry_SYSCALL_64_fastpath+0x12/0x71 Code: 41 5e 5d c3 0f 1f 00 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 55 49 89 f5 41 54 49 89 fc 53 48 83 ec 08 65 ff 05 e6 d9 b6 7e <48> 8b 47 20 48 63 ca 65 8b 18 48 63 db 48 01 f3 48 39 cb 7d 0a RIP [<ffffffff8149deea>] __percpu_counter_add+0x1a/0x90 RSP <ffff880295143ac8> CR2: 00000000000000a8 ---[ end trace 5132449a58ed93a3 ]--- note: gcc[10356] exited with preempt_count 2 Signed-off-by: Jaegeuk Kim <[email protected]>
Jaegeuk Kim committedJul 25, 2015 Configuration menu - View commit details
-
Copy full SHA for 6282adb - Browse repository at this point
Copy the full SHA 6282adbView commit details
Commits on Jul 26, 2015
-
dm thin: return -ENOSPC when erroring retry list due to out of data s…
…pace Otherwise -EIO would be returned when -ENOSPC should be used consistently. Signed-off-by: Mike Snitzer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0a927c2 - Browse repository at this point
Copy the full SHA 0a927c2View commit details -
intel_pstate: Add get_scaling cpu_defaults param to Knights Landing
Scaling for Knights Landing is same as the default scaling (100000). When Knigts Landing support was added to the pstate driver, this parameter was omitted resulting in a kernel panic during boot. Fixes: b34ef93 (intel_pstate: Knights Landing support) Reported-by: Yasuaki Ishimatsu <[email protected]> Signed-off-by: Dasaratharaman Chandramouli <[email protected]> Signed-off-by: Lukasz Anaczkowski <[email protected]> Acked-by: Kristen Carlson Accardi <[email protected]> Cc: 4.1+ <[email protected]> # 4.1+ Signed-off-by: Rafael J. Wysocki <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 69cefc2 - Browse repository at this point
Copy the full SHA 69cefc2View commit details
Commits on Jul 27, 2015
-
s390/bpf: clear correct BPF accumulator register
Currently we assumed the following BPF to eBPF register mapping: - BPF_REG_A -> BPF_REG_7 - BPF_REG_X -> BPF_REG_8 Unfortunately this mapping is wrong. The correct mapping is: - BPF_REG_A -> BPF_REG_0 - BPF_REG_X -> BPF_REG_7 So clear the correct registers and use the BPF_REG_A and BPF_REG_X macros instead of BPF_REG_0/7. Fixes: 0546231 ("s390/bpf: Add s390x eBPF JIT compiler backend") Cc: [email protected] # 4.0+ Signed-off-by: Michael Holzheu <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
Michael Holzheu authored and Martin Schwidefsky committedJul 27, 2015 Configuration menu - View commit details
-
Copy full SHA for 30342fe - Browse repository at this point
Copy the full SHA 30342feView commit details -
avr32: handle NULL as a valid clock object
Since NULL is used as valid clock object on optional clocks we have to handle this case in avr32 implementation as well. Fixes: e1824df (net: macb: Adjust tx_clk when link speed changes) Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Hans-Christian Egtvedt <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5c02a42 - Browse repository at this point
Copy the full SHA 5c02a42View commit details -
dm cache policy smq: fix alloc_bitset check that always evaluates as …
…false static analysis by cppcheck has found a check on alloc_bitset that always evaluates as false and hence never finds an allocation failure: [drivers/md/dm-cache-policy-smq.c:1689]: (warning) Logical conjunction always evaluates to false: !EXPR && EXPR. Fix this by removing the incorrect mq->cache_hit_bits check Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Mike Snitzer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 134bf30 - Browse repository at this point
Copy the full SHA 134bf30View commit details -
dm crypt: update wiki page URL
Cryptsetup moved to gitlab. This is a leftover from commit e44f23b (dm crypt: update URLs to new cryptsetup project page, 2015-04-05). Signed-off-by: Baruch Siach <[email protected]> Signed-off-by: Mike Snitzer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6ed443c - Browse repository at this point
Copy the full SHA 6ed443cView commit details -
of: add HAS_IOMEM depends to OF_ADDRESS
On UML builds, of_address.c fails to compile: ../drivers/of/address.c:873:2: error: implicit declaration of function ‘ioremap’ [-Werror=implicit-function-declaration] This is due to CONFIG_OF now being user selectable. Add a dependency on HAS_IOMEM to OF_ADDRESS in order to fix this. Signed-off-by: Rob Herring <[email protected]> Cc: Grant Likely <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 39da809 - Browse repository at this point
Copy the full SHA 39da809View commit details -
of: constify drv arg of of_driver_match_device stub
With this change the stub has the same signature as the actual function, preventing this compiler warning when building without CONFIG_OF: drivers/base/property.c: In function 'fwnode_driver_match_device': >> drivers/base/property.c:608:38: warning: passing argument 2 of 'of_driver_match_device' discards 'const' qualifier from pointer target type return of_driver_match_device(dev, drv); ^ In file included from drivers/base/property.c:18:0: include/linux/of_device.h:61:19: note: expected 'struct device_driver *' but argument is of type 'const struct device_driver *' static inline int of_driver_match_device(struct device *dev, ^ Signed-off-by: Tomeu Vizoso <[email protected]> Signed-off-by: Rob Herring <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 35068ce - Browse repository at this point
Copy the full SHA 35068ceView commit details -
DEVICETREE: Misc fix for the AR7100 SPI controller binding
Fix the clocks property documentation and use lower case for hex values in the example. Signed-off-by: Alban Bedel <[email protected]> Signed-off-by: Rob Herring <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3b6e644 - Browse repository at this point
Copy the full SHA 3b6e644View commit details -
of: Drop owner assignment from platform and i2c driver
platform_driver and i2c_driver do not need to set an owner because core will set it. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Rob Herring <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 599ad5a - Browse repository at this point
Copy the full SHA 599ad5aView commit details -
NFS: Fix a memory leak in nfs_do_recoalesce
If the function exits early, then we must put those requests that were not processed back onto the &mirror->pg_list so they can be cleaned up by nfs_pgio_error(). Fixes: a7d42dd ("nfs: add mirroring support to pgio layer") Cc: [email protected] # v4.0+ Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 03d5eb6 - Browse repository at this point
Copy the full SHA 03d5eb6View commit details -
NFS: Don't clear desc->pg_moreio in nfs_do_recoalesce()
Recoalescing does not affect whether or not we've already sent off I/O, and doing so means that we end up sending a bunch of synchronous for cases where we actually need to be using unstable writes. Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d4c3045 - Browse repository at this point
Copy the full SHA d4c3045View commit details -
vhost: actually track log eventfd file
While reviewing vhost log code, I found out that log_file is never set. Note: I haven't tested the change (QEMU doesn't use LOG_FD yet). Cc: [email protected] Signed-off-by: Marc-André Lureau <[email protected]> Signed-off-by: Michael S. Tsirkin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7932c0b - Browse repository at this point
Copy the full SHA 7932c0bView commit details -
vhost: fix error handling for memory region alloc
callers of vhost_kvzalloc() expect the same behaviour on allocation error as from kmalloc/vmalloc i.e. NULL return value. So just return vzmalloc() returned value instead of returning ERR_PTR(-ENOMEM) Fixes: 4de7255 ("vhost: extend memory regions allocation to vmalloc") Spotted-by: Dan Carpenter <[email protected]> Suggested-by: Julia Lawall <[email protected]> Signed-off-by: Igor Mammedov <[email protected]> Signed-off-by: Michael S. Tsirkin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1e09947 - Browse repository at this point
Copy the full SHA 1e09947View commit details -
NFSv4.2: handle NFS-specific llseek errors
Handle NFS-specific llseek errors instead of letting them leak out to userspace. Reported-by: Benjamin Coddington <[email protected]> Signed-off-by: J. Bruce Fields <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bdcc2cd - Browse repository at this point
Copy the full SHA bdcc2cdView commit details -
sunrpc: translate -EAGAIN to -ENOBUFS when socket is writable.
The networking layer does not reliably report the distinction between a non-block write failing because: 1/ the queue is too full already and 2/ a memory allocation attempt failed. The distinction is important because in the first case it is appropriate to retry as soon as the socket reports that it is writable, and in the second case a small delay is required as the socket will most likely report as writable but kmalloc could still fail. sk_stream_wait_memory() exhibits this distinction nicely, setting 'vm_wait' if a small wait is needed. However in the non-blocking case it always returns -EAGAIN no matter the cause of the failure. This -EAGAIN call get all the way to sunrpc. The sunrpc layer expects EAGAIN to indicate the first cause, and ENOBUFS to indicate the second. Various documentation suggests that this is not unreasonable, but does not guarantee the desired error codes. The result of getting -EAGAIN when -ENOBUFS is expected is that the send is tried again in a tight loop and soft lockups are reported. so: add tests after calls to xs_sendpages() to translate -EAGAIN into -ENOBUFS if the socket is writable. This cannot happen inside xs_sendpages() as the test for "is socket writable" is different between TCP and UDP. With this change, the tight loop retrying xs_sendpages() becomes a loop which only retries every 250ms, and so will not trigger a soft-lockup warning. It is possible that the write did fail because the queue was too full and by the time xs_sendpages() completed, the queue was writable again. In this case an extra 250ms delay is inserted that isn't really needed. This circumstance suggests a degree of congestion so a delay is not necessarily a bad thing, and it can only cause a single 250ms delay, not a series of them. Signed-off-by: NeilBrown <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 743c69e - Browse repository at this point
Copy the full SHA 743c69eView commit details -
arm64/efi: map the entire UEFI vendor string before reading it
At boot, the UTF-16 UEFI vendor string is copied from the system table into a char array with a size of 100 bytes. However, this size of 100 bytes is also used for memremapping() the source, which may not be sufficient if the vendor string exceeds 50 UTF-16 characters, and the placement of the vendor string inside a 4 KB page happens to leave the end unmapped. So use the correct '100 * sizeof(efi_char16_t)' for the size of the mapping. Signed-off-by: Ard Biesheuvel <[email protected]> Fixes: f84d027 ("arm64: add EFI runtime services") Cc: <[email protected]> # 3.16+ Signed-off-by: Catalin Marinas <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f91b1fe - Browse repository at this point
Copy the full SHA f91b1feView commit details -
SUNRPC: Report TCP errors to the caller
Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f580dd0 - Browse repository at this point
Copy the full SHA f580dd0View commit details -
Input: synaptics - dump ext10 capabilities as well
Make extended capabilities obtained through $10 query also available in touchpad identification. Signed-off-by: Jiri Kosina <[email protected]> Reviewed-by: Benjamin Tissoires <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ab80ee3 - Browse repository at this point
Copy the full SHA ab80ee3View commit details -
Input: bcm5974 - prepare for a new trackpad generation
With the advent of the Macbook Pro 12, we see a new generation of trackpads, capable of force sensoring and haptic feedback. This patch prepares for the new device by adding configuration data for the code paths that would otherwise look different. Tested-by: John Horan <[email protected]> Tested-by: Jochen Radmacher <[email protected]> Tested-by: Yang Hongyang <[email protected]> Tested-by: Yen-Chin, Lee <[email protected]> Tested-by: George Hilios <[email protected]> Tested-by: Janez Urevc <[email protected]> Signed-off-by: Henrik Rydberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for efbd347 - Browse repository at this point
Copy the full SHA efbd347View commit details -
HID: apple: Add support for the 2015 Macbook Pro
This patch adds keyboard support for MacbookPro12,1 as WELLSPRING9 (0x0272, 0x0273, 0x0274). The touchpad is handled in a separate bcm5974 patch, as usual. Tested-by: John Horan <[email protected]> Tested-by: Jochen Radmacher <[email protected]> Tested-by: Yang Hongyang <[email protected]> Tested-by: Yen-Chin, Lee <[email protected]> Tested-by: George Hilios <[email protected]> Tested-by: Janez Urevc <[email protected]> Signed-off-by: Henrik Rydberg <[email protected]> Acked-by: Jiri Kosina <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a4a2c54 - Browse repository at this point
Copy the full SHA a4a2c54View commit details -
Input: bcm5974 - add support for the 2015 Macbook Pro
Add support for the MacBookPro12,1 model. This patch needs to be applied together with the accompanied HID patch, as usual. Tested-by: John Horan <[email protected]> Tested-by: Jochen Radmacher <[email protected]> Tested-by: Yang Hongyang <[email protected]> Tested-by: Yen-Chin, Lee <[email protected]> Tested-by: George Hilios <[email protected]> Tested-by: Janez Urevc <[email protected]> Signed-off-by: Henrik Rydberg <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d580692 - Browse repository at this point
Copy the full SHA d580692View commit details
Commits on Jul 28, 2015
-
KEYS: ensure we free the assoc array edit if edit is valid
__key_link_end is not freeing the associated array edit structure and this leads to a 512 byte memory leak each time an identical existing key is added with add_key(). The reason the add_key() system call returns okay is that key_create_or_update() calls __key_link_begin() before checking to see whether it can update a key directly rather than adding/replacing - which it turns out it can. Thus __key_link() is not called through __key_instantiate_and_link() and __key_link_end() must cancel the edit. CVE-2015-1333 Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: David Howells <[email protected]> Signed-off-by: James Morris <[email protected]>
Colin Ian King authored and James Morris committedJul 28, 2015 Configuration menu - View commit details
-
Copy full SHA for ca4da5d - Browse repository at this point
Copy the full SHA ca4da5dView commit details -
s390/cachinfo: add missing facility check to init_cache_level()
Stephen Powell reported the following crash on a z890 machine: Kernel BUG at 00000000001219d0 [verbose debug info unavailable] illegal operation: 0001 ilc:3 [#1] SMP Krnl PSW : 0704e00180000000 00000000001219d0 (init_cache_level+0x38/0xe0) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 EA:3 Krnl Code: 00000000001219c2: a7840056 brc 8,121a6e 00000000001219c6: a7190000 lghi %r1,0 #00000000001219ca: eb101000004c ecag %r1,%r0,0(%r1) >00000000001219d0: a7390000 lghi %r3,0 00000000001219d4: e310f0a00024 stg %r1,160(%r15) 00000000001219da: a7080000 lhi %r0,0 00000000001219de: a7b9f000 lghi %r11,-4096 00000000001219e2: c0a0002899d9 larl %r10,634d94 Call Trace: [<0000000000478ee2>] detect_cache_attributes+0x2a/0x2b8 [<000000000097c9b0>] cacheinfo_sysfs_init+0x60/0xc8 [<00000000001001c0>] do_one_initcall+0x98/0x1c8 [<000000000094fdc2>] kernel_init_freeable+0x212/0x2d8 [<000000000062352e>] kernel_init+0x26/0x118 [<000000000062fd2e>] kernel_thread_starter+0x6/0xc The illegal operation was executed because of a missing facility check, which should have made sure that the ECAG execution would only be executed on machines which have the general-instructions-extension facility installed. Reported-and-tested-by: Stephen Powell <[email protected]> Cc: [email protected] # v4.0+ Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0b991f5 - Browse repository at this point
Copy the full SHA 0b991f5View commit details -
nfs: plug memory leak when ->prepare_layoutcommit fails
"data" is currently leaked when the prepare_layoutcommit operation returns an error. Put the cred before taking the spinlock in that case, take the lock and then goto out_unlock which will drop the lock and then free "data". Signed-off-by: Jeff Layton <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3471648 - Browse repository at this point
Copy the full SHA 3471648View commit details -
nfs: Fix an oops caused by using other thread's stack space in ASYNC …
…mode An oops caused by using other thread's stack space in sunrpc ASYNC sending thread. [ 9839.007187] ------------[ cut here ]------------ [ 9839.007923] kernel BUG at fs/nfs/nfs4xdr.c:910! [ 9839.008069] invalid opcode: 0000 [#1] SMP [ 9839.008069] Modules linked in: blocklayoutdriver rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache snd_hda_codec_generic snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm joydev iosf_mbi crct10dif_pclmul snd_timer crc32_pclmul crc32c_intel ghash_clmulni_intel snd soundcore ppdev pvpanic parport_pc i2c_piix4 serio_raw virtio_balloon parport acpi_cpufreq nfsd nfs_acl lockd grace auth_rpcgss sunrpc qxl drm_kms_helper virtio_net virtio_console virtio_blk ttm drm virtio_pci virtio_ring virtio ata_generic pata_acpi [ 9839.008069] CPU: 0 PID: 308 Comm: kworker/0:1H Not tainted 4.0.0-0.rc4.git1.3.fc23.x86_64 #1 [ 9839.008069] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 9839.008069] Workqueue: rpciod rpc_async_schedule [sunrpc] [ 9839.008069] task: ffff8800d8b4d8e0 ti: ffff880036678000 task.ti: ffff880036678000 [ 9839.008069] RIP: 0010:[<ffffffffa0339cc9>] [<ffffffffa0339cc9>] reserve_space.part.73+0x9/0x10 [nfsv4] [ 9839.008069] RSP: 0018:ffff88003667ba58 EFLAGS: 00010246 [ 9839.008069] RAX: 0000000000000000 RBX: 000000001fc15e18 RCX: ffff8800c0193800 [ 9839.008069] RDX: ffff8800e4ae3f24 RSI: 000000001fc15e2c RDI: ffff88003667bcd0 [ 9839.008069] RBP: ffff88003667ba58 R08: ffff8800d9173008 R09: 0000000000000003 [ 9839.008069] R10: ffff88003667bcd0 R11: 000000000000000c R12: 0000000000010000 [ 9839.008069] R13: ffff8800d9173350 R14: 0000000000000000 R15: ffff8800c0067b98 [ 9839.008069] FS: 0000000000000000(0000) GS:ffff88011fc00000(0000) knlGS:0000000000000000 [ 9839.008069] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 9839.008069] CR2: 00007f988c9c8bb0 CR3: 00000000d99b6000 CR4: 00000000000407f0 [ 9839.008069] Stack: [ 9839.008069] ffff88003667bbc8 ffffffffa03412c5 00000000c6c55680 ffff880000000003 [ 9839.008069] 0000000000000088 00000010c6c55680 0001000000000002 ffffffff816e87e9 [ 9839.008069] 0000000000000000 00000000477290e2 ffff88003667bab8 ffffffff81327ba3 [ 9839.008069] Call Trace: [ 9839.008069] [<ffffffffa03412c5>] encode_attrs+0x435/0x530 [nfsv4] [ 9839.008069] [<ffffffff816e87e9>] ? inet_sendmsg+0x69/0xb0 [ 9839.008069] [<ffffffff81327ba3>] ? selinux_socket_sendmsg+0x23/0x30 [ 9839.008069] [<ffffffff8164c1df>] ? do_sock_sendmsg+0x9f/0xc0 [ 9839.008069] [<ffffffff8164c278>] ? kernel_sendmsg+0x58/0x70 [ 9839.008069] [<ffffffffa011acc0>] ? xdr_reserve_space+0x20/0x170 [sunrpc] [ 9839.008069] [<ffffffffa011acc0>] ? xdr_reserve_space+0x20/0x170 [sunrpc] [ 9839.008069] [<ffffffffa0341b40>] ? nfs4_xdr_enc_open_noattr+0x130/0x130 [nfsv4] [ 9839.008069] [<ffffffffa03419a5>] encode_open+0x2d5/0x340 [nfsv4] [ 9839.008069] [<ffffffffa0341b40>] ? nfs4_xdr_enc_open_noattr+0x130/0x130 [nfsv4] [ 9839.008069] [<ffffffffa011ab89>] ? xdr_encode_opaque+0x19/0x20 [sunrpc] [ 9839.008069] [<ffffffffa0339cfb>] ? encode_string+0x2b/0x40 [nfsv4] [ 9839.008069] [<ffffffffa0341bf3>] nfs4_xdr_enc_open+0xb3/0x140 [nfsv4] [ 9839.008069] [<ffffffffa0110a4c>] rpcauth_wrap_req+0xac/0xf0 [sunrpc] [ 9839.008069] [<ffffffffa01017db>] call_transmit+0x18b/0x2d0 [sunrpc] [ 9839.008069] [<ffffffffa0101650>] ? call_decode+0x860/0x860 [sunrpc] [ 9839.008069] [<ffffffffa0101650>] ? call_decode+0x860/0x860 [sunrpc] [ 9839.008069] [<ffffffffa010caa0>] __rpc_execute+0x90/0x460 [sunrpc] [ 9839.008069] [<ffffffffa010ce85>] rpc_async_schedule+0x15/0x20 [sunrpc] [ 9839.008069] [<ffffffff810b452b>] process_one_work+0x1bb/0x410 [ 9839.008069] [<ffffffff810b47d3>] worker_thread+0x53/0x470 [ 9839.008069] [<ffffffff810b4780>] ? process_one_work+0x410/0x410 [ 9839.008069] [<ffffffff810b4780>] ? process_one_work+0x410/0x410 [ 9839.008069] [<ffffffff810ba7b8>] kthread+0xd8/0xf0 [ 9839.008069] [<ffffffff810ba6e0>] ? kthread_worker_fn+0x180/0x180 [ 9839.008069] [<ffffffff81786418>] ret_from_fork+0x58/0x90 [ 9839.008069] [<ffffffff810ba6e0>] ? kthread_worker_fn+0x180/0x180 [ 9839.008069] Code: 00 00 48 c7 c7 21 fa 37 a0 e8 94 1c d6 e0 c6 05 d2 17 05 00 01 8b 03 eb d7 66 0f 1f 84 00 00 00 00 00 66 66 66 66 90 55 48 89 e5 <0f> 0b 0f 1f 44 00 00 66 66 66 66 90 55 48 89 e5 41 54 53 89 f3 [ 9839.008069] RIP [<ffffffffa0339cc9>] reserve_space.part.73+0x9/0x10 [nfsv4] [ 9839.008069] RSP <ffff88003667ba58> [ 9839.071114] ---[ end trace cc14c03adb522e94 ]--- Signed-off-by: Kinglong Mee <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a49c269 - Browse repository at this point
Copy the full SHA a49c269View commit details -
ACPI / PM: Use target_state to set the device power state
Commit 20dacb7 ("ACPI / PM: Rework device power management to follow ACPI 6") changed the device power management to use D3hot if the device in question does not have _PR3 method even if D3cold was requested by the caller. However, if the device has _PR3 device->power.state is also set to D3hot instead of D3Cold after power resources have been turned off because device->power.state will be assigned from "state" instead of "target_state". Next time the device is transitioned to D0, acpi_power_transition() will find that the current power state of the device is D3hot instead of D3cold which causes it to power down all resources required for the current (wrong) state D3hot. Below is a simplified ASL example of a real touch panel device which triggers the problem: Scope (TPL1) { Name (_PR0, Package (1) { \_SB.PCI0.I2C1.PXTC }) Name (_PR3, Package (1) { \_SB.PCI0.I2C1.PXTC }) ... } In both D0 and D3hot the same power resource is required. However, when acpi_power_transition() turns off power resources required for D3hot (as the device is transitioned to D0) it powers down PXTC which then makes the device to lose its power. Fix this by assigning "target_state" to the device power state instead of "state" that is always D3hot even for devices with valid _PR3. Fixes: 20dacb7 (ACPI / PM: Rework device power management to follow ACPI 6) Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 71b6544 - Browse repository at this point
Copy the full SHA 71b6544View commit details -
cpufreq: Avoid attempts to create duplicate symbolic links
After commit 8754914 (cpufreq: Stop migrating sysfs files on hotplug) there is a problem with CPUs that share cpufreq policy objects with other CPUs and are initially offline. Say CPU1 shares a policy with CPU0 which is online and is registered first. As part of the registration process, cpufreq_add_dev() is called for it. It creates the policy object and a symbolic link to it from the CPU1's sysfs directory. If CPU1 is registered subsequently and it is offline at that time, cpufreq_add_dev() will attempt to create a symbolic link to the policy object for it, but that link is present already, so a warning about that will be triggered. To avoid that warning, make cpufreq use an additional CPU mask containing related CPUs that are actually present for each policy object. That mask is initialized when the policy object is populated after its creation (for the first online CPU using it) and it includes CPUs from the "policy CPUs" mask returned by the cpufreq driver's ->init() callback that are physically present at that time. Symbolic links to the policy are created only for the CPUs in that mask. If cpufreq_add_dev() is invoked for an offline CPU, it checks the new mask and only creates the symlink if the CPU was not in it (the CPU is added to the mask at the same time). In turn, cpufreq_remove_dev() drops the given CPU from the new mask, removes its symlink to the policy object and returns, unless it is the CPU owning the policy object. In that case, the policy object is moved to a new CPU's sysfs directory or deleted if the CPU being removed was the last user of the policy. While at it, notice that cpufreq_remove_dev() can't fail, because its return value is ignored, so make it ignore return values from __cpufreq_remove_dev_prepare() and __cpufreq_remove_dev_finish() and prevent these functions from aborting on errors returned by __cpufreq_governor(). Also drop the now unused sif argument from them. Fixes: 8754914 (cpufreq: Stop migrating sysfs files on hotplug) Signed-off-by: Rafael J. Wysocki <[email protected]> Reported-and-tested-by: Russell King <[email protected]> Acked-by: Viresh Kumar <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 559ed40 - Browse repository at this point
Copy the full SHA 559ed40View commit details -
Merge tag 'for-f2fs-v4.2-rc5' of git://git.kernel.org/pub/scm/linux/k…
…ernel/git/jaegeuk/f2fs Pull f2fs fixes from Jaegeuk Kim. * tag 'for-f2fs-v4.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: f2fs: call set_page_dirty to attach i_wb for cgroup f2fs: handle error cases in move_encrypted_block
Configuration menu - View commit details
-
Copy full SHA for 2ee6b00 - Browse repository at this point
Copy the full SHA 2ee6b00View commit details -
Merge tag 'nfs-for-4.2-2' of git://git.linux-nfs.org/projects/trondmy…
…/linux-nfs Pull NFS client bugfixes from Trond Myklebust: "Highlights include: Stable patches: - Fix a situation where the client uses the wrong (zero) stateid. - Fix a memory leak in nfs_do_recoalesce Bugfixes: - Plug a memory leak when ->prepare_layoutcommit fails - Fix an Oops in the NFSv4 open code - Fix a backchannel deadlock - Fix a livelock in sunrpc when sendmsg fails due to low memory availability - Don't revalidate the mapping if both size and change attr are up to date - Ensure we don't miss a file extension when doing pNFS - Several fixes to handle NFSv4.1 sequence operation status bits correctly - Several pNFS layout return bugfixes" * tag 'nfs-for-4.2-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (28 commits) nfs: Fix an oops caused by using other thread's stack space in ASYNC mode nfs: plug memory leak when ->prepare_layoutcommit fails SUNRPC: Report TCP errors to the caller sunrpc: translate -EAGAIN to -ENOBUFS when socket is writable. NFSv4.2: handle NFS-specific llseek errors NFS: Don't clear desc->pg_moreio in nfs_do_recoalesce() NFS: Fix a memory leak in nfs_do_recoalesce NFS: nfs_mark_for_revalidate should always set NFS_INO_REVAL_PAGECACHE NFS: Remove the "NFS_CAP_CHANGE_ATTR" capability NFS: Set NFS_INO_REVAL_PAGECACHE if the change attribute is uninitialised NFS: Don't revalidate the mapping if both size and change attr are up to date NFSv4/pnfs: Ensure we don't miss a file extension NFSv4: We must set NFS_OPEN_STATE flag in nfs_resync_open_stateid_locked SUNRPC: xprt_complete_bc_request must also decrement the free slot count SUNRPC: Fix a backchannel deadlock pNFS: Don't throw out valid layout segments pNFS: pnfs_roc_drain() fix a race with open pNFS: Fix races between return-on-close and layoutreturn. pNFS: pnfs_roc_drain should return 'true' when sleeping pNFS: Layoutreturn must invalidate all existing layout segments. ...
Configuration menu - View commit details
-
Copy full SHA for d8132e0 - Browse repository at this point
Copy the full SHA d8132e0View commit details -
Merge tag 'linux-kselftest-4.2-rc5' of git://git.kernel.org/pub/scm/l…
…inux/kernel/git/shuah/linux-kselftest Pull kselftest fix from Shuah Khan. * tag 'linux-kselftest-4.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests/futex: Fix futex_cmp_requeue_pi() error handling
Configuration menu - View commit details
-
Copy full SHA for 30b4f0f - Browse repository at this point
Copy the full SHA 30b4f0fView commit details -
Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…
…t/mst/vhost Pull vhost fixes from Michael Tsirkin: "Two bugfixes only here" * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: vhost: fix error handling for memory region alloc vhost: actually track log eventfd file
Configuration menu - View commit details
-
Copy full SHA for 90c8acc - Browse repository at this point
Copy the full SHA 90c8accView commit details -
Merge tag 'devicetree-fixes-for-4.2' of git://git.kernel.org/pub/scm/…
…linux/kernel/git/robh/linux Pull devicetree fixes from Rob Herring: "A handful of DT related fixes for 4.2-rc" * tag 'devicetree-fixes-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: of: Drop owner assignment from platform and i2c driver DEVICETREE: Misc fix for the AR7100 SPI controller binding of: constify drv arg of of_driver_match_device stub of: add HAS_IOMEM depends to OF_ADDRESS
Configuration menu - View commit details
-
Copy full SHA for 02ff371 - Browse repository at this point
Copy the full SHA 02ff371View commit details -
Revert "Input: zforce - don't overwrite the stack"
This reverts commit 7d01cd2 because with given FRAME_MAXSIZE of 257 the check will never trigger and it causes warnings from GCC (with -Wtype-limits). Also the check was incorrect as it was not accounting for the already read 2 bytes of data stored in the buffer.
Configuration menu - View commit details
-
Copy full SHA for 3213afb - Browse repository at this point
Copy the full SHA 3213afbView commit details -
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/egtvedt/linux-avr32 Pull AVR32 fix from Hans-Christian Egtvedt. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32: avr32: handle NULL as a valid clock object
Configuration menu - View commit details
-
Copy full SHA for 67eb890 - Browse repository at this point
Copy the full SHA 67eb890View commit details -
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/…
…git/arm64/linux Pull arm64 fix from Catalin Marinas: "Fix buffer overflow when UTF-16 UEFI vendor string is copied from the system table into a char array with a size of 100 bytes" * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64/efi: map the entire UEFI vendor string before reading it
Configuration menu - View commit details
-
Copy full SHA for d61be4b - Browse repository at this point
Copy the full SHA d61be4bView commit details -
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/jmorris/linux-security Pull key fix from James Morris. Fix memory leak. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: KEYS: ensure we free the assoc array edit if edit is valid
Configuration menu - View commit details
-
Copy full SHA for d4ec1f1 - Browse repository at this point
Copy the full SHA d4ec1f1View commit details -
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…
…t/dledford/rdma Pull rdma fixes from Doug Ledford: - two minor bug fixes - relicense ocrdma driver to dual license, GPL or BSD * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: RDMA/ocrdma: update ocrdma module license string RDMA/ocrdma: update ocrdma license to dual-license IB/ipoib: Fix CONFIG_INFINIBAND_IPOIB_CM RDMA/cxgb3: fail get_dma_mr on 64 bit arches
Configuration menu - View commit details
-
Copy full SHA for 956325b - Browse repository at this point
Copy the full SHA 956325bView commit details
Commits on Jul 29, 2015
-
xfs: call dax_fault on read page faults for DAX
When modifying the patch series to handle the XFS MMAP_LOCK nesting of page faults, I botched the conversion of the read page fault path, and so it is only every calling through the page cache. Re-add the necessary __dax_fault() call for such files. Because the get_blocks callback on read faults may not set up the mapping buffer correctly to allow unwritten extent completion to be run, we need to allow callers of __dax_fault() to pass a null complete_unwritten() callback. The DAX code always zeros the unwritten page when it is read faulted so there are no stale data exposure issues with not doing the conversion. The only downside will be the potential for increased CPU overhead on repeated read faults of the same page. If this proves to be a problem, then the filesystem needs to fix it's get_block callback and provide a convert_unwritten() callback to the read fault path. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Matthew Wilcox <[email protected]> Reviewed-by: Brian Foster <[email protected]> Signed-off-by: Dave Chinner <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b2442c5 - Browse repository at this point
Copy the full SHA b2442c5View commit details -
xfs: remote attribute headers contain an invalid LSN
In recent testing, a system that crashed failed log recovery on restart with a bad symlink buffer magic number: XFS (vda): Starting recovery (logdev: internal) XFS (vda): Bad symlink block magic! XFS: Assertion failed: 0, file: fs/xfs/xfs_log_recover.c, line: 2060 On examination of the log via xfs_logprint, none of the symlink buffers in the log had a bad magic number, nor were any other types of buffer log format headers mis-identified as symlink buffers. Tracing was used to find the buffer the kernel was tripping over, and xfs_db identified it's contents as: 000: 5841524d 00000000 00000346 64d82b48 8983e692 d71e4680 a5f49e2c b317576e 020: 00000000 00602038 00000000 006034ce d0020000 00000000 4d4d4d4d 4d4d4d4d 040: 4d4d4d4d 4d4d4d4d 4d4d4d4d 4d4d4d4d 4d4d4d4d 4d4d4d4d 4d4d4d4d 4d4d4d4d 060: 4d4d4d4d 4d4d4d4d 4d4d4d4d 4d4d4d4d 4d4d4d4d 4d4d4d4d 4d4d4d4d 4d4d4d4d ..... This is a remote attribute buffer, which are notable in that they are not logged but are instead written synchronously by the remote attribute code so that they exist on disk before the attribute transactions are committed to the journal. The above remote attribute block has an invalid LSN in it - cycle 0xd002000, block 0 - which means when log recovery comes along to determine if the transaction that writes to the underlying block should be replayed, it sees a block that has a future LSN and so does not replay the buffer data in the transaction. Instead, it validates the buffer magic number and attaches the buffer verifier to it. It is this buffer magic number check that is failing in the above assert, indicating that we skipped replay due to the LSN of the underlying buffer. The problem here is that the remote attribute buffers cannot have a valid LSN placed into them, because the transaction that contains the attribute tree pointer changes and the block allocation that the attribute data is being written to hasn't yet been committed. Hence the LSN field in the attribute block is completely unwritten, thereby leaving the underlying contents of the block in the LSN field. It could have any value, and hence a future overwrite of the block by log recovery may or may not work correctly. Fix this by always writing an invalid LSN to the remote attribute block, as any buffer in log recovery that needs to write over the remote attribute should occur. We are protected from having old data written over the attribute by the fact that freeing the block before the remote attribute is written will result in the buffer being marked stale in the log and so all changes prior to the buffer stale transaction will be cancelled by log recovery. Hence it is safe to ignore the LSN in the case or synchronously written, unlogged metadata such as remote attribute blocks, and to ensure we do that correctly, we need to write an invalid LSN to all remote attribute blocks to trigger immediate recovery of metadata that is written over the top. As a further protection for filesystems that may already have remote attribute blocks with bad LSNs on disk, change the log recovery code to always trigger immediate recovery of metadata over remote attribute blocks. cc: <[email protected]> Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Brian Foster <[email protected]> Signed-off-by: Dave Chinner <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e3c32ee - Browse repository at this point
Copy the full SHA e3c32eeView commit details -
xfs: remote attributes need to be considered data
We don't log remote attribute contents, and instead write them synchronously before we commit the block allocation and attribute tree update transaction. As a result we are writing to the allocated space before the allcoation has been made permanent. As a result, we cannot consider this allocation to be a metadata allocation. Metadata allocation can take blocks from the free list and so reuse them before the transaction that freed the block is committed to disk. This behaviour is perfectly fine for journalled metadata changes as log recovery will ensure the free operation is replayed before the overwrite, but for remote attribute writes this is not the case. Hence we have to consider the remote attribute blocks to contain data and allocate accordingly. We do this by dropping the XFS_BMAPI_METADATA flag from the block allocation. This means the allocation will not use blocks that are on the busy list without first ensuring that the freeing transaction has been committed to disk and the blocks removed from the busy list. This ensures we will never overwrite a freed block without first ensuring that it is really free. cc: <[email protected]> Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Brian Foster <[email protected]> Signed-off-by: Dave Chinner <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for df150ed - Browse repository at this point
Copy the full SHA df150edView commit details -
Merge branches 'pm-cpufreq' and 'acpi-pm'
* pm-cpufreq: cpufreq: Avoid attempts to create duplicate symbolic links intel_pstate: Add get_scaling cpu_defaults param to Knights Landing * acpi-pm: ACPI / PM: Use target_state to set the device power state
Configuration menu - View commit details
-
Copy full SHA for d29809b - Browse repository at this point
Copy the full SHA d29809bView commit details -
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
Pull SCSI target fixes from Nicholas Bellinger: "This series is larger than what I'd normally be conformable with sending for a -rc5 PULL request.. However, the bulk of the series is localized to qla2xxx target specific fixes that address a number of real-world correctness issues, that have been outstanding on the list for ~6 weeks now. They where submitted + verified + acked by the HW LLD vendor, contributed by a major production customer of the code, and are marked for v3.18.y stable code. That said, I don't see a good reason to wait another month to get these fixes into mainline. Beyond the qla2xx specific fixes, this series also includes: - bugfix for a long standing use-after-free in iscsi-target during TPG shutdown + demo-mode sessions. - bugfix for a >= v4.0 regression OOPs in iscsi-target during a iscsi_start_kthreads() failure. - bugfix for a >= v4.0 regression hang in iscsi-target for iser explicit session/connection logout. - bugfix for a iser-target bug where a early CMA REJECTED status during login triggers a NULL pointer dereference OOPs. - bugfixes for a handful of v4.2-rc1 specific regressions related to the larger set of recent backend configfs attribute changes. A big thanks to QLogic + Pure Storage for the qla2xxx target bugfixes" * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (28 commits) Documentation/target: Fix tcm_mod_builder.py build breakage iser-target: Fix REJECT CM event use-after-free OOPs iscsi-target: Fix iser explicit logout TX kthread leak iscsi-target: Fix iscsit_start_kthreads failure OOPs iscsi-target: Fix use-after-free during TPG session shutdown qla2xxx: terminate exchange when command is aborted by LIO qla2xxx: drop cmds/tmrs arrived while session is being deleted qla2xxx: disable scsi_transport_fc registration in target mode qla2xxx: added sess generations to detect RSCN update races qla2xxx: Abort stale cmds on qla_tgt_wq when plogi arrives qla2xxx: delay plogi/prli ack until existing sessions are deleted qla2xxx: cleanup cmd in qla workqueue before processing TMR qla2xxx: kill sessions/log out initiator on RSCN and port down events qla2xxx: fix command initialization in target mode. qla2xxx: Remove msleep in qlt_send_term_exchange qla2xxx: adjust debug flags qla2xxx: release request queue reservation. qla2xxx: Add flush after updating ATIOQ consumer index. qla2xxx: Enable target mode for ISP27XX qla2xxx: Fix hardware lock/unlock issue causing kernel panic. ...
Configuration menu - View commit details
-
Copy full SHA for 733db57 - Browse repository at this point
Copy the full SHA 733db57View commit details -
Merge tag 'vfio-v4.2-rc5' of git://github.com/awilliam/linux-vfio
Pull VFIO fix from Alex Williamson: "Fix a lockdep reported deadlock in device open error path" * tag 'vfio-v4.2-rc5' of git://github.com/awilliam/linux-vfio: vfio: Fix lockdep issue
Configuration menu - View commit details
-
Copy full SHA for d9065f4 - Browse repository at this point
Copy the full SHA d9065f4View commit details -
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/s390/linux Pull s390 fixes from Martin Schwidefsky: "Two bug fixes: - fix a crash on pre-z10 hardware due to cache-info - fix an issue with classic BPF programs in the eBPF JIT" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/cachinfo: add missing facility check to init_cache_level() s390/bpf: clear correct BPF accumulator register
Configuration menu - View commit details
-
Copy full SHA for 86ea07c - Browse repository at this point
Copy the full SHA 86ea07cView commit details -
Revert "dm cache: do not wake_worker() in free_migration()"
This reverts commit 386cb7c. Taking the wake_worker() out of free_migration() will slow writeback dramatically, and hence adaptability. Say we have 10k blocks that need writing back, but are only able to issue 5 concurrently due to the migration bandwidth: it's imperative that we wake_worker() immediately after migration completion; waiting for the next 1 second wake up (via do_waker) means it'll take a long time to write that all back. Reported-by: Joe Thornber <[email protected]> Signed-off-by: Mike Snitzer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3508e65 - Browse repository at this point
Copy the full SHA 3508e65View commit details -
dm cache: fix device destroy hang due to improper prealloc_used accou…
…nting Commit 665022d ("dm cache: avoid calls to prealloc_free_structs() if possible") introduced a regression that caused the removal of a DM cache device to hang in cache_postsuspend()'s call to wait_for_migrations() with the following stack trace: [<ffffffff81651457>] schedule+0x37/0x80 [<ffffffffa041e21b>] cache_postsuspend+0xbb/0x470 [dm_cache] [<ffffffff810ba970>] ? prepare_to_wait_event+0xf0/0xf0 [<ffffffffa0006f77>] dm_table_postsuspend_targets+0x47/0x60 [dm_mod] [<ffffffffa0001eb5>] __dm_destroy+0x215/0x250 [dm_mod] [<ffffffffa0004113>] dm_destroy+0x13/0x20 [dm_mod] [<ffffffffa00098cd>] dev_remove+0x10d/0x170 [dm_mod] [<ffffffffa00097c0>] ? dev_suspend+0x240/0x240 [dm_mod] [<ffffffffa0009f85>] ctl_ioctl+0x255/0x4d0 [dm_mod] [<ffffffff8127ac00>] ? SYSC_semtimedop+0x280/0xe10 [<ffffffffa000a213>] dm_ctl_ioctl+0x13/0x20 [dm_mod] [<ffffffff811fd432>] do_vfs_ioctl+0x2d2/0x4b0 [<ffffffff81117d5f>] ? __audit_syscall_entry+0xaf/0x100 [<ffffffff81022636>] ? do_audit_syscall_entry+0x66/0x70 [<ffffffff811fd689>] SyS_ioctl+0x79/0x90 [<ffffffff81023e58>] ? syscall_trace_leave+0xb8/0x110 [<ffffffff81654f6e>] entry_SYSCALL_64_fastpath+0x12/0x71 Fix this by accounting for the call to prealloc_data_structs() immediately _before_ the call as opposed to after. This is needed because it is possible to break out of the control loop after the call to prealloc_data_structs() but before prealloc_used was set to true. Signed-off-by: Mike Snitzer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 795e633 - Browse repository at this point
Copy the full SHA 795e633View commit details
Commits on Jul 30, 2015
-
Merge tag 'dm-4.2-fixes-3' of git://git.kernel.org/pub/scm/linux/kern…
…el/git/device-mapper/linux-dm Pull device mapper fixes from Mike Snitzer: - fix DM thinp to consistently return -ENOSPC when out of data space - fix a logic bug in the DM cache smq policy's creation error path - revert a DM cache 4.2-rc3 change that reduced writeback efficiency - fix a hang on DM cache device destruction due to improper prealloc_used accounting introduced in 4.2-rc3 - update URL for dm-crypt wiki page * tag 'dm-4.2-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm cache: fix device destroy hang due to improper prealloc_used accounting Revert "dm cache: do not wake_worker() in free_migration()" dm crypt: update wiki page URL dm cache policy smq: fix alloc_bitset check that always evaluates as false dm thin: return -ENOSPC when erroring retry list due to out of data space
Configuration menu - View commit details
-
Copy full SHA for d0db3a3 - Browse repository at this point
Copy the full SHA d0db3a3View commit details -
Merge tag 'pm+acpi-4.2-rc5' of git://git.kernel.org/pub/scm/linux/ker…
…nel/git/rafael/linux-pm Pull power management and ACPI fixes from Rafael Wysocki: "These fix three regressions, two recent ones (cpufreq core and ACPI device power management) and one introduced during the 4.1 cycle (intel_pstate). Specifics: - Fix a recently introduced issue in the cpufreq core causing it to attempt to create duplicate symbolic links to the policy directory in sysfs for CPUs that are offline when the cpufreq driver is being registered (Rafael J Wysocki) - Fix a recently introduced problem in the ACPI device power management core code causing it to store an incorrect value in the device object's power.state field in some cases which in turn leads to attempts to turn power resources off while they should still be on going forward (Mika Westerberg) - Fix an intel_pstate driver issue introduced during the 4.1 cycle which leads to kernel panics on boot on Knights Landing chips due to incomplete support for them in that driver (Lukasz Anaczkowski)" * tag 'pm+acpi-4.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: cpufreq: Avoid attempts to create duplicate symbolic links ACPI / PM: Use target_state to set the device power state intel_pstate: Add get_scaling cpu_defaults param to Knights Landing
Configuration menu - View commit details
-
Copy full SHA for d41a83b - Browse repository at this point
Copy the full SHA d41a83bView commit details -
hwmon: (nct7904) Rename pwm attributes to match hwmon ABI
pwm attributes have well defined names, which should be used. Cc: Vadim V. Vlasov <[email protected]> Cc: [email protected] #v4.1+ Signed-off-by: Guenter Roeck <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0d6aaff - Browse repository at this point
Copy the full SHA 0d6aaffView commit details -
hwmon: (nct7802) Fix integer overflow seen when writing voltage limits
Writing a large value into a voltage limit attribute can result in an overflow due to an auto-conversion from unsigned long to unsigned int. Cc: Constantine Shulyupin <[email protected]> Reviewed-by: Jean Delvare <[email protected]> Cc: [email protected] # v4.1+ Signed-off-by: Guenter Roeck <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9200bc4 - Browse repository at this point
Copy the full SHA 9200bc4View commit details -
Merge tag 'hwmon-for-linus-v4.2-rc5' of git://git.kernel.org/pub/scm/…
…linux/kernel/git/groeck/linux-staging Pull hwmon fixes from Guenter Roeck: "Two patches headed for -stable. nct7802: Fix integer overflow seen when writing voltage limits nct7904: Rename pwm attributes to match hwmon ABI" * tag 'hwmon-for-linus-v4.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (nct7802) Fix integer overflow seen when writing voltage limits hwmon: (nct7904) Rename pwm attributes to match hwmon ABI
Configuration menu - View commit details
-
Copy full SHA for 0a55205 - Browse repository at this point
Copy the full SHA 0a55205View commit details -
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/dtor/input Pull input fixes from Dmitry Torokhov: "The main change is support for keyboards and touchpads found in 2015 editions of Macbooks" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Revert "Input: zforce - don't overwrite the stack" Input: bcm5974 - add support for the 2015 Macbook Pro HID: apple: Add support for the 2015 Macbook Pro Input: bcm5974 - prepare for a new trackpad generation Input: synaptics - dump ext10 capabilities as well
Configuration menu - View commit details
-
Copy full SHA for dbe0811 - Browse repository at this point
Copy the full SHA dbe0811View commit details
Commits on Jul 31, 2015
-
Merge tag 'xfs-for-linus-4.2-rc4' of git://git.kernel.org/pub/scm/lin…
…ux/kernel/git/dgc/linux-xfs Pull xfs fixes from Dave Chinner: "There are a couple of recently found, long standing remote attribute corruption fixes caused by log recovery getting confused after a crash, and the new DAX code in XFS (merged in 4.2-rc1) needs to actually use the DAX fault path on read faults. Summary: - remote attribute log recovery corruption fixes - DAX page faults need to use direct mappings, not a page cache mapping" * tag 'xfs-for-linus-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: xfs: remote attributes need to be considered data xfs: remote attribute headers contain an invalid LSN xfs: call dax_fault on read page faults for DAX
Configuration menu - View commit details
-
Copy full SHA for 8400935 - Browse repository at this point
Copy the full SHA 8400935View commit details