Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756166AbbBCRAw (ORCPT ); Tue, 3 Feb 2015 12:00:52 -0500 Received: from mx1.redhat.com ([209.132.183.28]:50592 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754570AbbBCRAv (ORCPT ); Tue, 3 Feb 2015 12:00:51 -0500 From: Vitaly Kuznetsov To: "K. Y. Srinivasan" , devel@linuxdriverproject.org Cc: Haiyang Zhang , linux-kernel@vger.kernel.org, Dexuan Cui , Jason Wang Subject: [PATCH 0/4] Drivers: hv: Further protection for the rescind path Date: Tue, 3 Feb 2015 18:00:35 +0100 Message-Id: <1422982839-3948-1-git-send-email-vkuznets@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2024 Lines: 45 This series is a continuation of the "Drivers: hv: vmbus: serialize Offer and Rescind offer". I'm trying to address a number of theoretically possible issues with rescind offer handling. All these complications come from the fact that a rescind offer results in vmbus channel being freed and we must ensure nobody still uses it. Instead of introducing new locks I suggest we switch channels usage to the get/put workflow. The main part of the series is [PATCH 1/4] which introduces the workflow for vmbus channels, all other patches fix different corner cases using this workflow. I'm not sure all such cases are covered with this series (probably not), but in case protection is required in some other places it should become relatively easy to add one. I did some sanity testing with CONFIG_DEBUG_LOCKDEP=y and nothing popped out, however, additional testing would be much appreciated. K.Y., Haiyang, I'm not sending this series to netdev@ and linux-scsi@ as it is supposed to be applied as a whole, please resend these patches with your sign-offs when (and if) we're done with reviews. Thanks! Vitaly Kuznetsov (4): Drivers: hv: vmbus: implement get/put usage workflow for vmbus channels Drivers: hv: vmbus: do not lose rescind offer on failure in vmbus_process_offer() Drivers: hv: vmbus: protect vmbus_get_outgoing_channel() against channel removal hyperv: netvsc: improve protection against rescind offer drivers/hv/channel_mgmt.c | 75 +++++++++++++++++++++++++++++++++++++-------- drivers/hv/connection.c | 7 +++-- drivers/hv/hyperv_vmbus.h | 4 +++ drivers/net/hyperv/netvsc.c | 10 ++++-- drivers/scsi/storvsc_drv.c | 2 ++ include/linux/hyperv.h | 13 ++++++++ 6 files changed, 95 insertions(+), 16 deletions(-) -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/