Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp6999650ybc; Thu, 28 Nov 2019 09:04:19 -0800 (PST) X-Google-Smtp-Source: APXvYqxLmrptIU2T8Hgj3k+hmV44ZvDpYahKYA8denmur9jJZTVCR/3uPXiWWwBz8cimaj4kU4sg X-Received: by 2002:a19:48c6:: with SMTP id v189mr1508054lfa.77.1574960659276; Thu, 28 Nov 2019 09:04:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574960659; cv=none; d=google.com; s=arc-20160816; b=cCv84p35ohxiu+NmYFmRe0qaLeIPPP//58ZGT+Z9Cyhy2j5mbbHt6UA6TA7I5FFaGj I54/H7OpUPolaQDltPQg3z0ZWaiEurIg6nwsd3PENqL4UOcwQEg385yy5gTWJwjzTOnA FmnxZCRtq2SpAMOx8oJ9IfdNNAhGbnNi054PfQqNlNZZQT+pZRSBH/Agu6wCv7r8RlxS uPxuNp+EVndgd4Vu25KClJGMLhuNwht3GRxS4A+osMzqFHZSxg9dQ06SaGfQnSqnru4g MKrkAa/8etPctagNT9Lhtql+TM8/sQbhnQkuMJx9l/eLCy6YlCmwLgNRawT+FiuPKYxN LcFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:subject:message-id:date:from :mime-version:dkim-signature; bh=MhJbzum0aKZkbCMEaHUdCyUcURmQlqUKG9qVBbw13+I=; b=oDzC95ZGauRV3DBGfI1A/Jero/kmo3ovB1A4y4Yv4ZTAaGiI1nTy7FLpenZRiTupQI 9U7wM/+tXTStwSDjvkD0uFqlLWkW1lTnP0c2Sgft7X0FxvOqJjn97W2Ft3wPlIovk8Cx +vwb5tas50PmyTXL25V9xm5lxKKu1krrzuq/IdjW+QpZVykWhrDC3jRsuUPRdWgsjDAp qf7ttGA7NBfMYK3OXMqJKbxSkr6mFJK8RYAdwXkDAhhSPgQPyL415POpYZpSLJzIjcIe Ln5v7aBXLnJ5QC71+SPrVqwzb/qK6HSRJODbgsn1Kl03kbBM1uy8ZPdcguvnTiCz+I/J VIyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=HMOyXkuk; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n19si5722315edb.312.2019.11.28.09.03.44; Thu, 28 Nov 2019 09:04:19 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=HMOyXkuk; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726656AbfK1RDS (ORCPT + 99 others); Thu, 28 Nov 2019 12:03:18 -0500 Received: from mail-ed1-f51.google.com ([209.85.208.51]:36094 "EHLO mail-ed1-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726655AbfK1RDS (ORCPT ); Thu, 28 Nov 2019 12:03:18 -0500 Received: by mail-ed1-f51.google.com with SMTP id j17so6996860edp.3 for ; Thu, 28 Nov 2019 09:03:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=MhJbzum0aKZkbCMEaHUdCyUcURmQlqUKG9qVBbw13+I=; b=HMOyXkuknV7aHfZp9zdvPIjeIcQQLjebm5XAtiURnWFueYV0Z7cToWLXnURRNa0GEL SID++p9vF66MJrchA4Bb/OvvFylxErln2UIZJ8xXIGfdGeoWstEitJ8pubHGud+9TTJo 1CZwPSqqg7uTCjGoYYZnLTPifzKZLYv3Aj0xPdY9gPt0cXWyPFoo+x8rzF5wwEWBE8cQ XFL+bKzqcC2CtymuifiQxShGhG/H1NKj0DoS9Jaf9PH1uPXGniqJz3jaFnq7BcZLaPeb g9fYlRYgeMgnSP5+7rPwbESsRwKhgoc9aean135WHfgME/jZZEjnHp1s+CJbIrFh4n0f sF5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=MhJbzum0aKZkbCMEaHUdCyUcURmQlqUKG9qVBbw13+I=; b=dMGRS4A9bUvb5pP4Wv2cTRk0G5CzE+QhQ5OwYPMiUK016eRjy3BX8uNAXbyD20nTs6 anQuvblh2qqqunCSuu2RszTMC9jXJCbN2+vUXHnQ+uspwzvxhzlL4jZ3KURgxLYDl4ao S03h2Vt48LJQIZTyq7pmy3TAiKpby6DGCAun2LiF0rDnVdhajDBkydlgcDDIookWynaG DVbnKUeoiKSFVsPe8X1okR9KmBLEf28xGWEvdbARLjLel2oQqxlViPXsyEmZGIDUp3FC JAzJPETcjZb7klzq0ZjWpQ1cWikaaJWwWDGy7FPKe00qVH/EWcRnQaUa3EOzFseovrMK cEgQ== X-Gm-Message-State: APjAAAW9rmJQd2m2nFw1i3NRbFLChvRRQORdpH5oJSZZNfuFuD6BwHwh REt6+q5TwiWay01e/TUfFwjO09NdhrhlPb6tIIGKgw== X-Received: by 2002:aa7:dc0c:: with SMTP id b12mr39175237edu.186.1574960596112; Thu, 28 Nov 2019 09:03:16 -0800 (PST) MIME-Version: 1.0 From: Meng Xu Date: Thu, 28 Nov 2019 12:03:04 -0500 Message-ID: Subject: potential data race on ext_inode_hdr(inode)->eh_depth, ext_inode_hdr(inode)->eh_max between a creat and unlink syscall To: linux-ext4@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Hi Ext4 Developers, I notice a potential data race on ext_inode_hdr(inode)->eh_depth, ext_inode_hdr(inode)->eh_max between a create and unlink syscall. Following is the trace: [Setup] mkdir("foo", 511) = 0; open("foo", 65536, 511) = 3; create("bar", 511) = 4; symlink("foo", "sym_foo") = 0; open("sym_foo", 65536, 511) = 5; [Thread 1] create("bar", 438); __do_sys_creat ksys_open do_filp_open path_openat do_last handle_truncate do_truncate notify_change ext4_setattr ext4_truncate ext4_ext_truncate ext4_ext _remove_space [WRITE, 2 bytes] ext_inode_hdr(inode)->eh_depth = 0; [WRITE, 2 bytes] ext_inode_hdr(inode)->eh_max = cpu_to_le16(ext4_ext_space_root(inode, 0)); [Thread 2] unlink("sym_foo"); __do_sys_unlink do_unlinkat iput iput_final evict ext4_evict_inode ext4_orphan_del ext4_mark_iloc_dirty ext4_do_update_inode [READ, 4 bytes] raw_inode->i_block[block] = ei->i_data[block]; I could observe that the order between the READ and WRITE is not deterministic and I was curious what will happen if the READ takes place in the middle of the two WRITES? Does it cause any damages or violations? Best Regards, Meng