Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp121380pxb; Tue, 26 Oct 2021 23:01:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyRPiI8//h9BZgjQieYQ8t5ZbOiwVAi90bGId29jZlZWVkkzRWh1Lpoiw+lseHSE8gJn2tZ X-Received: by 2002:a17:90a:4509:: with SMTP id u9mr3762779pjg.79.1635314468022; Tue, 26 Oct 2021 23:01:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635314468; cv=none; d=google.com; s=arc-20160816; b=fL1K0LMpbkTyfkbU1S2oTO6U3S01TsmxOfPOzi1WRpYaLKvAWOzD9FyuQhIpOcbwep PoBWwhAB2ut/N0SWusJG7Ne7g5yuDjdAkU1Iu8WujvKowRDYTwhWDmpCVZacybAqTZr1 273qmKDkET78hl7ZnMVohNg6x51IZKbQh06884J8WI9ziaZJaiEhUgaXYCngpX4ubyNh di0A1dNNy1QRfhxzzWlwICIXcjAVP+0UGYsdO87DBW7/luCvwsVx4f/hWe+UlZeVQ2AR 3ZWtwGAwgwFzoxaw/49xum/F7QgmYLZX1E5rqySKiMbXw+/9HFHq51gDuclPeLl+9Cqw ly3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=PT6d1EWTb34zM12dqXtU94VX2HpSDS3N7GkbVsq8D8s=; b=oce/PQxizHZinc3P2MNM5jGtqLKHGW5vP5vhv8qPIqmtYfDq9D6HbuAPWuemev0VQV dLkbUXnME8p1H4ACoeFZBJVf91vnmEeL10t8WwontajmYzZg/Y1hqozZJqQLQ03/K9s6 yDEq5b7ziLvSUpa/T+QuMVyr38LJGk3g+PSMcNih1fFRgFbsdkO68titPxwoGJzXKTND ObdeuO9iy8tSTC5/hc6rCzUaKwzq03V5gSdm1YE4dzN0lngTDDAUhaltLa2Qn/x9ZKER 5Fe1OIevmxgHukHRNnQ8ICsncNf6X7YlLolLmoPY67DnzPqQYrnf9p5vRPCuLjisYwiP Pn8w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j1si30013991plt.92.2021.10.26.23.00.54; Tue, 26 Oct 2021 23:01:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238388AbhJZSqn (ORCPT + 99 others); Tue, 26 Oct 2021 14:46:43 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:43314 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238391AbhJZSql (ORCPT ); Tue, 26 Oct 2021 14:46:41 -0400 Received: from localhost (unknown [IPv6:2804:14c:124:8a08::1002]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: krisman) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id BB0151F40D7C; Tue, 26 Oct 2021 19:44:16 +0100 (BST) From: Gabriel Krisman Bertazi To: ltp@lists.linux.it, jack@suse.com, amir73il@gmail.com Cc: khazhy@google.com, kernel@collabora.com, linux-ext4@vger.kernel.org, repnop@google.com, Gabriel Krisman Bertazi Subject: [PATCH v2 09/10] syscalls/fanotify20: Test file event with broken inode Date: Tue, 26 Oct 2021 15:42:38 -0300 Message-Id: <20211026184239.151156-10-krisman@collabora.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20211026184239.151156-1-krisman@collabora.com> References: <20211026184239.151156-1-krisman@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org This test corrupts an inode entry with an invalid mode through debugfs and then tries to access it. This should result in a ext4 error, which we monitor through the fanotify group. Signed-off-by: Gabriel Krisman Bertazi --- .../kernel/syscalls/fanotify/fanotify20.c | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/testcases/kernel/syscalls/fanotify/fanotify20.c b/testcases/kernel/syscalls/fanotify/fanotify20.c index 5c5ee3c6fb74..7bcddcaa98cb 100644 --- a/testcases/kernel/syscalls/fanotify/fanotify20.c +++ b/testcases/kernel/syscalls/fanotify/fanotify20.c @@ -38,6 +38,10 @@ #define FILEID_INVALID 0xff #endif +#ifndef EFSCORRUPTED +#define EFSCORRUPTED EUCLEAN /* Filesystem is corrupted */ +#endif + #define BUF_SIZE 256 static char event_buf[BUF_SIZE]; int fd_notify; @@ -63,6 +67,17 @@ static void trigger_fs_abort(void) MS_REMOUNT|MS_RDONLY, "abort"); } +static void tcase2_trigger_lookup(void) +{ + int ret; + + /* SAFE_OPEN cannot be used here because we expect it to fail. */ + ret = open(MOUNT_PATH"/"BAD_DIR, O_RDONLY, 0); + if (ret != -1 && errno != EUCLEAN) + tst_res(TFAIL, "Unexpected lookup result(%d) of %s (%d!=%d)", + ret, BAD_DIR, errno, EUCLEAN); +} + static struct test_case { char *name; int error; @@ -77,6 +92,13 @@ static struct test_case { .error = ESHUTDOWN, .fid = &null_fid, }, + { + .name = "Lookup of inode with invalid mode", + .trigger_error = &tcase2_trigger_lookup, + .error_count = 1, + .error = EFSCORRUPTED, + .fid = &bad_file_fid, + }, }; int check_error_event_info_fid(struct fanotify_event_info_fid *fid, -- 2.33.0