Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp26482469rwd; Mon, 3 Jul 2023 10:14:06 -0700 (PDT) X-Google-Smtp-Source: APBJJlEm5m1fY7UX9aF3ucy9Szo87RRic6rblD97nznEjBQbojfxtSzsXGNZ2YNlo/tpPY4Hun2b X-Received: by 2002:a17:90a:b81:b0:262:c291:4b6c with SMTP id 1-20020a17090a0b8100b00262c2914b6cmr11860932pjr.45.1688404446072; Mon, 03 Jul 2023 10:14:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688404446; cv=none; d=google.com; s=arc-20160816; b=LV8pGwCIrvL1N98WVQpfcdQeELvrhNSEbCbJQ0I9q9jcgZolN5928uvHYRFjz8Jfcl XI5IVcmdecnjEPc7lXw/xvN14QUp7b4zMQ6fiKRFs6D1Cg9cH8Werx5kSxY2amDx1Pkj hXdzuDReSGBJIWzgyGtZnI9riXwWaqOJ3nlAj+Tz+/DWD709K007qo8+RbP4zwnWTw6q ZuO0tJgID/mHqnMdbTayYnn77agSBDOjoe5HE9ZTNtKPxgUjMOQRTdYZen5b1Rq+D816 qHlN/jvdVfWTQU3Kf/zEphr/WYEHzEhFYtu3SGiEkI5ylMbePec0mbUp/jQuY9wVRBPI dlEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=6cDhx7Op83mZwaIfROLPt5ivMM8kluY7g0YkB9UuxEo=; fh=og5ZPPWqgTh0WukID5eZzv6qbuJsgHK5UOvS5qkkgJM=; b=JsBz10IPKHwEk9mbZcCwaf2yQd3n6fwVyYhqtBxQ6amfDSYzzzIoFKKwLZjV/YutFe Qf2Eb3rBnhe8YRUDgTfvvQPeYMSqe5FNqmI/fXKmbDC+k6DjwYb5BQ01d/OtC/7nJdMD RVPEJkNwrG4PpR6FFRhsuZ2HwDNp+O/+aK9ZDwBboclavS422H4BpNodtE3CqzXuFq9q aQQWmAJBxWUyfE/Au6LqsC0PZK9K7anbj8eurhOd5ttWY9FNE0iTS8q6WKDDTb15dnuP v6gF4LsVP1qOK9KnmRKSt+ZCZD8YYK7tRHN3/EWFHeOT8wQu/kcYzFHmP246+/V3ICDd JIeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b="OW1/MH6/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id kb15-20020a17090ae7cf00b00262fa96d9e6si17028415pjb.142.2023.07.03.10.13.51; Mon, 03 Jul 2023 10:14:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b="OW1/MH6/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230384AbjGCRAg (ORCPT + 99 others); Mon, 3 Jul 2023 13:00:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34696 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229656AbjGCRAe (ORCPT ); Mon, 3 Jul 2023 13:00:34 -0400 Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com [IPv6:2a00:1450:4864:20::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4CD06E5C for ; Mon, 3 Jul 2023 10:00:31 -0700 (PDT) Received: by mail-lf1-x133.google.com with SMTP id 2adb3069b0e04-4fb41682472so7074258e87.2 for ; Mon, 03 Jul 2023 10:00:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1688403629; x=1690995629; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=6cDhx7Op83mZwaIfROLPt5ivMM8kluY7g0YkB9UuxEo=; b=OW1/MH6/wSXX9aK+6JyvqoRySuta6+ExwMAG0bMiEOrenO/+n6ftbHC0/YXU+6c0o2 P04fOxLupZ8RSYin9RLiOoczB9W091rCkKKtIPexe2gC42Cu4MNJIKYYlPp+Px3Pb16c t4xUWzWu4DlRRLhoh6n9+fskL8bu+9iidZmig= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688403629; x=1690995629; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6cDhx7Op83mZwaIfROLPt5ivMM8kluY7g0YkB9UuxEo=; b=k2cga+n7IjKpeXHdLEYLh+LslIbbIKxrR1jBdvu6FE7QTUA96jtKWu2P0YGa9yQpay Kc2eJwYs6JCri41Po9cvbm4jDk/EpzmS6SfRRU8FrA8OuWt+5Le1nBkOONL379yg3LNX xbKc/xqJbRnRSgkOwuNaWFWRq8wLDlWOWAI5RZ6uRJOmBwDeEpMlr8C+SIADf9EK+pJY XcdOcYEVc5n619vTttyrjFt7m7pa47RXkrqftt83YDvOnhiwsBun9yiaV9BZaADa6RU7 6LGmF8vRtbTrQDeSLH+VcEUew899AwrZEHKbdWi6hJUFKM78QkaLSHiSlGGx/PHapeSb sdaw== X-Gm-Message-State: ABy/qLaeeiA6VVCr5DSB1UzS1+vQT3FAkC/K/XbepbdG2NMdRwWx7DFY Lcjj8k3SFOTpHW8PDnVorLXBt/GD6VXOcubeD8YaTYr+ X-Received: by 2002:a05:6512:3c90:b0:4f8:58d3:b7ab with SMTP id h16-20020a0565123c9000b004f858d3b7abmr10478164lfv.4.1688403629066; Mon, 03 Jul 2023 10:00:29 -0700 (PDT) Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com. [209.85.167.43]) by smtp.gmail.com with ESMTPSA id x5-20020ac25dc5000000b004f875356ab8sm3215865lfq.153.2023.07.03.10.00.28 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 03 Jul 2023 10:00:28 -0700 (PDT) Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-4fb41682472so7074105e87.2 for ; Mon, 03 Jul 2023 10:00:28 -0700 (PDT) X-Received: by 2002:a19:6914:0:b0:4f8:5713:7dd5 with SMTP id e20-20020a196914000000b004f857137dd5mr7627264lfc.10.1688403627849; Mon, 03 Jul 2023 10:00:27 -0700 (PDT) MIME-Version: 1.0 References: <20230703114318.1576ea24@rorschach.local.home> In-Reply-To: <20230703114318.1576ea24@rorschach.local.home> From: Linus Torvalds Date: Mon, 3 Jul 2023 10:00:11 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Buggy rwsem locking code in fs/smb/client/file.c To: Steven Rostedt Cc: LKML , Dave Wysochanski , Ronnie Sahlberg , Pavel Shilovsky , Peter Zijlstra , Thomas Gleixner , Ajay Kaher Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 3 Jul 2023 at 08:43, Steven Rostedt wrote: > > And hides the bug by wrapping the down_write() with: > > +void > +cifs_down_write(struct rw_semaphore *sem) > +{ > + while (!down_write_trylock(sem)) > + msleep(10); > +} That is indeed disgusting. It may *work* - because as the commit message says, it means that writers are now never queued up and thus never block recursive readers. And in the process it now becomes absolutely horribly unfair to writers, who will easily get starved by readers. This is absolutely not acceptable in any sane situation. Are writers *so* rare and special that starving them is ok? Because starvation can be just as deadly as a deadlock. You're just hiding the problem from lockdep and yourself. This is very much a "head in the sand" solution. Linus