From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 78C96C369DC for ; Tue, 29 Apr 2025 08:27:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1381E6B0005; Tue, 29 Apr 2025 04:27:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E7CA6B0006; Tue, 29 Apr 2025 04:27:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F161B6B0007; Tue, 29 Apr 2025 04:27:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id C918B6B0005 for ; Tue, 29 Apr 2025 04:27:51 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 0C5DD1A14E3 for ; Tue, 29 Apr 2025 08:27:53 +0000 (UTC) X-FDA: 83386403226.11.70A70D2 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) by imf14.hostedemail.com (Postfix) with ESMTP id 44DB3100006 for ; Tue, 29 Apr 2025 08:27:50 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GGZZ+BkP; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf14.hostedemail.com: domain of lkp@intel.com designates 198.175.65.18 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745915271; a=rsa-sha256; cv=none; b=H/+7Zp2zIR3B/M3HrDXxKkm8dmBsN7wLykIx+NIZSkpXvN24XO8ICeY9LeTqye5aNSs2j4 G/I5GjhkUNCnL1tL8hzxayFmJCG39yfwAW8AGB9rhI2kdq5W2Icoc+Qy/kzxkHBtBcu+7F NvDlg5I9Dwr0u9CI4dGpBVG54UuPGqc= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GGZZ+BkP; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf14.hostedemail.com: domain of lkp@intel.com designates 198.175.65.18 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745915271; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=Ku16bIfzhFk8mmLbBhx/yk1HZ6MwSdq61Xrwv5WTo0I=; b=Avla/li8BuGGmmPMVCHJD84dg5nWywheese5L3wz33/2Ode4UQiO4mFuXvEWycbP8kyexe C2DGJ1gW2krAe85ujLm1STjMZmoc6laMChiPLTDGBSx1oCqz3eVXVpV7rZ0TTo8HIcJZle G7OE9bY6w5DdpYvSXY5Lp/cvPOxast4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1745915270; x=1777451270; h=date:from:to:cc:subject:message-id:mime-version; bh=MGFkciWJC+kP0lV+t4YNAkM8KejSFB29auop8woTfHE=; b=GGZZ+BkP/4gkEZzcsnj1P5GEfBNQESWCJ3g0pwmw1Q8Jejd/WV5BDjAP xz8ZArFy9zVcNpVi4Do3p0FgEEQ82OZ3yO1Sz5uedklBx27eldczHgA7j Ed2er0SsTF6bpm1lej5GWSaunynd/FXeiZ7M07ySd+dF6fFTiDpDe8teE 5cQgxIwkgN6JbMhvZ1u5mfVBAKZiwYCw9fWJ6p8n7ku6f6e3zsntULjYl ibutAwap2qD145tsy6UgGh+Q3rebujnk4QH3gzsvmvct6HuzcFJfKpY5S fqFffh0Mp2o4jNTSbpd3PZtYHLgNL/7/MYx7Z89gOPTmQn8efIPJw6rso Q==; X-CSE-ConnectionGUID: XF9fDRk3Tvy04Ie8yojvCg== X-CSE-MsgGUID: TAxpZ4XgSkmGwX6zHWFgNg== X-IronPort-AV: E=McAfee;i="6700,10204,11417"; a="47664348" X-IronPort-AV: E=Sophos;i="6.15,248,1739865600"; d="scan'208";a="47664348" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Apr 2025 01:27:49 -0700 X-CSE-ConnectionGUID: TPavYUcBS6SNurWBGJp4sg== X-CSE-MsgGUID: vPnGXyTdR/akW92PGJjLig== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,248,1739865600"; d="scan'208";a="170994318" Received: from lkp-server01.sh.intel.com (HELO 1992f890471c) ([10.239.97.150]) by orviesa001.jf.intel.com with ESMTP; 29 Apr 2025 01:27:47 -0700 Received: from kbuild by 1992f890471c with local (Exim 4.96) (envelope-from ) id 1u9gJc-0000aD-1o; Tue, 29 Apr 2025 08:27:44 +0000 Date: Tue, 29 Apr 2025 16:27:39 +0800 From: kernel test robot To: Dan Williams Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org, Andrew Morton , Linux Memory Management List , Gerald Schaefer Subject: drivers/s390/block/dcssblk.c:718:undefined reference to `kill_dax' Message-ID: <202504291604.pvjonhWX-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspam-User: X-Rspamd-Queue-Id: 44DB3100006 X-Rspamd-Server: rspam04 X-Stat-Signature: a5xi53ci7xcnghmdu7o414wd1nzsziic X-HE-Tag: 1745915270-299068 X-HE-Meta: U2FsdGVkX18ZuBqTSdhH3hvxROE2/TwEYNFVmvtooYnVyJ/FgEIg1MeVYFkYgjcLP9qCkgi7q/aHGMaXOXYBG+PELYfuzC/ll3vpl2tPFJC/wJLni37bnl3wNIITJ6dQagWO0OCImv/ew4C6PRtuTJ0GiA/I48/jINjSkcopBVt9P4KLOafrnW88N5+ft1edRUVvVZfzY3JhyKIiv1SfyG8QSlceGbokpbrsfBlI4xdzuaOdcTDgbpDr0ZgRiqC60/ZpqhhbOqQ4/FQJScfsLdxnfVDfo6ZVJVnSYUu8tFmGBLPH5FsW8tWPRuk11xXIi7/KMo7bDiSDBhqRwjKQL/DRg2ncQEwH8bp2RFhLihKO4dukmQf0F4vOt2d6vXUyAtme5Awl0ZNWM1gA+KhxeT0HiJJxTEOiGg/p/dSEdmFNnmEP+U/KyMqSWkRiBC6HgecYLSfpzoMlLNeXFshqYBvjeBFWm9/ES37FIaTzv6YlG6gWP8LpSkbtxO3jXAPnkpCi/6VDZX45S8RapWP6JxxM/Lh+OrcmqHOUdn74y0wGHiCG+kmDMIyxWplKaQlZLwUmLRKEbXVvvTbD/aihnblig9Le7ZQ/heVMY/n9mzw90zct68DBDlSr224/b+Xt5ZPxUmL1OBoLkaN11eTOLpoWMOinMqWMGn40QV7If0KNNgU/0Ny95uPR9FE5FxoFndlkecnGwUmaWE1tgimEbupVM1o+Vg7xvHumcxILVBluuaJndDl9OulFFsTGhi0aW98jfEr2oYoWkWceZWgqMN/iTrl/4Gl/zweXU17x0RaWrtYU54NAYOb4D+Uwuy57df1snsA+R8RYU3z4ctJ7vjEyyymwvuuVpRI9cQdcIIGU7fPU/SDDloOLupwIjejjKYbkIMI4kS25lIw+6Oza06OD4hZHxYx/6egISKPfFQVm455sq/HDuGLclyFy8nMT54Kyp9MtQEBiNcOjxDh nuFX5mhA 6bNcvBUqWejTeZAraVs5dsmukQhl7/Bd3kD0tOTCsbCcdtulWBDU8Q5uqOlBe2vEURn1xDAkTBPU1Fo13+2lXRs5iFrFS3X9V+EtuNQhBdsAXVSVMn53ebCTqRZzZ9bhVaVelGRuGy55vq8zQx9h7eDTG9d38l0+urjOcXmICj39nTyYKvBgRRHNSX55oW8qLXDVoDWMKhb8eZxFYzyjpKCZVEsnW0d5jr6/9EQFuBQrQj4iAW88heMX8r6Ke5AZ1eVPcGQ70ji9wNjukPyAmeeRy0kj4CATOIs/DN5GDpVE64jpKJ4G3niSShI9TzViQHhnOHXPixlnx83BNMsihOVYvpmOggTs/avWAKAHOBxhi6JMjsFI0yEIuoOZb0U25iopzD9fZSbile7lvLcGBhBC7tNRQaEv+oGAb7GECg3YW2N8= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: ca91b9500108d4cf083a635c2e11c884d5dd20ea commit: 653d7825c149932f254e0cd22153ccc945e7e545 dcssblk: mark DAX broken, remove FS_DAX_LIMITED support date: 6 weeks ago config: s390-randconfig-r132-20250428 (https://download.01.org/0day-ci/archive/20250429/202504291604.pvjonhWX-lkp@intel.com/config) compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8) reproduce: (https://download.01.org/0day-ci/archive/20250429/202504291604.pvjonhWX-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202504291604.pvjonhWX-lkp@intel.com/ All errors (new ones prefixed by >>): s390x-linux-ld: drivers/s390/block/dcssblk.o: in function `dcssblk_add_store': >> drivers/s390/block/dcssblk.c:718:(.text+0x1b98): undefined reference to `kill_dax' >> s390x-linux-ld: drivers/s390/block/dcssblk.c:719:(.text+0x1bb6): undefined reference to `put_dax' s390x-linux-ld: drivers/s390/block/dcssblk.o: in function `dcssblk_shared_store': drivers/s390/block/dcssblk.c:417:(.text+0x2c2a): undefined reference to `kill_dax' s390x-linux-ld: drivers/s390/block/dcssblk.c:418:(.text+0x2c48): undefined reference to `put_dax' s390x-linux-ld: drivers/s390/block/dcssblk.o: in function `dcssblk_remove_store': drivers/s390/block/dcssblk.c:803:(.text+0x42e2): undefined reference to `kill_dax' s390x-linux-ld: drivers/s390/block/dcssblk.c:804:(.text+0x4300): undefined reference to `put_dax' vim +718 drivers/s390/block/dcssblk.c 653d7825c14993 Dan Williams 2025-02-28 551 ^1da177e4c3f41 Linus Torvalds 2005-04-16 552 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 553 * device attribute for adding devices ^1da177e4c3f41 Linus Torvalds 2005-04-16 554 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 555 static ssize_t e404e274f62665 Yani Ioannou 2005-05-17 556 dcssblk_add_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) ^1da177e4c3f41 Linus Torvalds 2005-04-16 557 { af190c53c995bf Christoph Hellwig 2024-02-15 558 struct queue_limits lim = { af190c53c995bf Christoph Hellwig 2024-02-15 559 .logical_block_size = 4096, f467fee48da450 Christoph Hellwig 2024-06-17 560 .features = BLK_FEAT_DAX, af190c53c995bf Christoph Hellwig 2024-02-15 561 }; b2300b9efe1b81 Hongjie Yang 2008-10-10 562 int rc, i, j, num_of_segments; ^1da177e4c3f41 Linus Torvalds 2005-04-16 563 struct dcssblk_dev_info *dev_info; b2300b9efe1b81 Hongjie Yang 2008-10-10 564 struct segment_info *seg_info, *temp; ^1da177e4c3f41 Linus Torvalds 2005-04-16 565 char *local_buf; ^1da177e4c3f41 Linus Torvalds 2005-04-16 566 unsigned long seg_byte_size; ^1da177e4c3f41 Linus Torvalds 2005-04-16 567 ^1da177e4c3f41 Linus Torvalds 2005-04-16 568 dev_info = NULL; b2300b9efe1b81 Hongjie Yang 2008-10-10 569 seg_info = NULL; ^1da177e4c3f41 Linus Torvalds 2005-04-16 570 if (dev != dcssblk_root_dev) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 571 rc = -EINVAL; ^1da177e4c3f41 Linus Torvalds 2005-04-16 572 goto out_nobuf; ^1da177e4c3f41 Linus Torvalds 2005-04-16 573 } b2300b9efe1b81 Hongjie Yang 2008-10-10 574 if ((count < 1) || (buf[0] == '\0') || (buf[0] == '\n')) { b2300b9efe1b81 Hongjie Yang 2008-10-10 575 rc = -ENAMETOOLONG; b2300b9efe1b81 Hongjie Yang 2008-10-10 576 goto out_nobuf; b2300b9efe1b81 Hongjie Yang 2008-10-10 577 } b2300b9efe1b81 Hongjie Yang 2008-10-10 578 ^1da177e4c3f41 Linus Torvalds 2005-04-16 579 local_buf = kmalloc(count + 1, GFP_KERNEL); ^1da177e4c3f41 Linus Torvalds 2005-04-16 580 if (local_buf == NULL) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 581 rc = -ENOMEM; ^1da177e4c3f41 Linus Torvalds 2005-04-16 582 goto out_nobuf; ^1da177e4c3f41 Linus Torvalds 2005-04-16 583 } b2300b9efe1b81 Hongjie Yang 2008-10-10 584 ^1da177e4c3f41 Linus Torvalds 2005-04-16 585 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 586 * parse input ^1da177e4c3f41 Linus Torvalds 2005-04-16 587 */ b2300b9efe1b81 Hongjie Yang 2008-10-10 588 num_of_segments = 0; 3a9f9183bdd341 Ameen Ali 2015-02-24 589 for (i = 0; (i < count && (buf[i] != '\0') && (buf[i] != '\n')); i++) { 42cfc6b590c5eb Martin Schwidefsky 2015-08-19 590 for (j = i; j < count && 42cfc6b590c5eb Martin Schwidefsky 2015-08-19 591 (buf[j] != ':') && b2300b9efe1b81 Hongjie Yang 2008-10-10 592 (buf[j] != '\0') && 42cfc6b590c5eb Martin Schwidefsky 2015-08-19 593 (buf[j] != '\n'); j++) { b2300b9efe1b81 Hongjie Yang 2008-10-10 594 local_buf[j-i] = toupper(buf[j]); b2300b9efe1b81 Hongjie Yang 2008-10-10 595 } b2300b9efe1b81 Hongjie Yang 2008-10-10 596 local_buf[j-i] = '\0'; b2300b9efe1b81 Hongjie Yang 2008-10-10 597 if (((j - i) == 0) || ((j - i) > 8)) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 598 rc = -ENAMETOOLONG; b2300b9efe1b81 Hongjie Yang 2008-10-10 599 goto seg_list_del; ^1da177e4c3f41 Linus Torvalds 2005-04-16 600 } b2300b9efe1b81 Hongjie Yang 2008-10-10 601 b2300b9efe1b81 Hongjie Yang 2008-10-10 602 rc = dcssblk_load_segment(local_buf, &seg_info); b2300b9efe1b81 Hongjie Yang 2008-10-10 603 if (rc < 0) b2300b9efe1b81 Hongjie Yang 2008-10-10 604 goto seg_list_del; ^1da177e4c3f41 Linus Torvalds 2005-04-16 605 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 606 * get a struct dcssblk_dev_info ^1da177e4c3f41 Linus Torvalds 2005-04-16 607 */ b2300b9efe1b81 Hongjie Yang 2008-10-10 608 if (num_of_segments == 0) { b2300b9efe1b81 Hongjie Yang 2008-10-10 609 dev_info = kzalloc(sizeof(struct dcssblk_dev_info), b2300b9efe1b81 Hongjie Yang 2008-10-10 610 GFP_KERNEL); ^1da177e4c3f41 Linus Torvalds 2005-04-16 611 if (dev_info == NULL) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 612 rc = -ENOMEM; ^1da177e4c3f41 Linus Torvalds 2005-04-16 613 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 614 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 615 strcpy(dev_info->segment_name, local_buf); b2300b9efe1b81 Hongjie Yang 2008-10-10 616 dev_info->segment_type = seg_info->segment_type; b2300b9efe1b81 Hongjie Yang 2008-10-10 617 INIT_LIST_HEAD(&dev_info->seg_list); b2300b9efe1b81 Hongjie Yang 2008-10-10 618 } b2300b9efe1b81 Hongjie Yang 2008-10-10 619 list_add_tail(&seg_info->lh, &dev_info->seg_list); b2300b9efe1b81 Hongjie Yang 2008-10-10 620 num_of_segments++; b2300b9efe1b81 Hongjie Yang 2008-10-10 621 i = j; b2300b9efe1b81 Hongjie Yang 2008-10-10 622 b2300b9efe1b81 Hongjie Yang 2008-10-10 623 if ((buf[j] == '\0') || (buf[j] == '\n')) b2300b9efe1b81 Hongjie Yang 2008-10-10 624 break; b2300b9efe1b81 Hongjie Yang 2008-10-10 625 } b2300b9efe1b81 Hongjie Yang 2008-10-10 626 b2300b9efe1b81 Hongjie Yang 2008-10-10 627 /* no trailing colon at the end of the input */ b2300b9efe1b81 Hongjie Yang 2008-10-10 628 if ((i > 0) && (buf[i-1] == ':')) { b2300b9efe1b81 Hongjie Yang 2008-10-10 629 rc = -ENAMETOOLONG; b2300b9efe1b81 Hongjie Yang 2008-10-10 630 goto seg_list_del; b2300b9efe1b81 Hongjie Yang 2008-10-10 631 } 820109fb11f24b Wolfram Sang 2022-08-18 632 strscpy(local_buf, buf, i + 1); b2300b9efe1b81 Hongjie Yang 2008-10-10 633 dev_info->num_of_segments = num_of_segments; b2300b9efe1b81 Hongjie Yang 2008-10-10 634 rc = dcssblk_is_continuous(dev_info); b2300b9efe1b81 Hongjie Yang 2008-10-10 635 if (rc < 0) b2300b9efe1b81 Hongjie Yang 2008-10-10 636 goto seg_list_del; b2300b9efe1b81 Hongjie Yang 2008-10-10 637 b2300b9efe1b81 Hongjie Yang 2008-10-10 638 dev_info->start = dcssblk_find_lowest_addr(dev_info); b2300b9efe1b81 Hongjie Yang 2008-10-10 639 dev_info->end = dcssblk_find_highest_addr(dev_info); b2300b9efe1b81 Hongjie Yang 2008-10-10 640 ef283688f54cc8 Kees Cook 2014-06-10 641 dev_set_name(&dev_info->dev, "%s", dev_info->segment_name); ^1da177e4c3f41 Linus Torvalds 2005-04-16 642 dev_info->dev.release = dcssblk_release_segment; 521b3d790c16fa Sebastian Ott 2012-10-01 643 dev_info->dev.groups = dcssblk_dev_attr_groups; ^1da177e4c3f41 Linus Torvalds 2005-04-16 644 INIT_LIST_HEAD(&dev_info->lh); af190c53c995bf Christoph Hellwig 2024-02-15 645 dev_info->gd = blk_alloc_disk(&lim, NUMA_NO_NODE); 74fa8f9c553f7b Christoph Hellwig 2024-02-15 646 if (IS_ERR(dev_info->gd)) { 74fa8f9c553f7b Christoph Hellwig 2024-02-15 647 rc = PTR_ERR(dev_info->gd); b2300b9efe1b81 Hongjie Yang 2008-10-10 648 goto seg_list_del; ^1da177e4c3f41 Linus Torvalds 2005-04-16 649 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 650 dev_info->gd->major = dcssblk_major; 0692ef289f067d Christoph Hellwig 2021-05-21 651 dev_info->gd->minors = DCSSBLK_MINORS_PER_DISK; ^1da177e4c3f41 Linus Torvalds 2005-04-16 652 dev_info->gd->fops = &dcssblk_devops; ^1da177e4c3f41 Linus Torvalds 2005-04-16 653 dev_info->gd->private_data = dev_info; a41a11b4009580 Gerald Schaefer 2022-10-27 654 dev_info->gd->flags |= GENHD_FL_NO_PART; b2300b9efe1b81 Hongjie Yang 2008-10-10 655 ^1da177e4c3f41 Linus Torvalds 2005-04-16 656 seg_byte_size = (dev_info->end - dev_info->start + 1); ^1da177e4c3f41 Linus Torvalds 2005-04-16 657 set_capacity(dev_info->gd, seg_byte_size >> 9); // size in sectors 93098bf0157876 Hongjie Yang 2008-12-25 658 pr_info("Loaded %s with total size %lu bytes and capacity %lu " 93098bf0157876 Hongjie Yang 2008-12-25 659 "sectors\n", local_buf, seg_byte_size, seg_byte_size >> 9); ^1da177e4c3f41 Linus Torvalds 2005-04-16 660 ^1da177e4c3f41 Linus Torvalds 2005-04-16 661 dev_info->save_pending = 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 662 dev_info->is_shared = 1; ^1da177e4c3f41 Linus Torvalds 2005-04-16 663 dev_info->dev.parent = dcssblk_root_dev; ^1da177e4c3f41 Linus Torvalds 2005-04-16 664 ^1da177e4c3f41 Linus Torvalds 2005-04-16 665 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 666 *get minor, add to list ^1da177e4c3f41 Linus Torvalds 2005-04-16 667 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 668 down_write(&dcssblk_devices_sem); b2300b9efe1b81 Hongjie Yang 2008-10-10 669 if (dcssblk_get_segment_by_name(local_buf)) { 04f64b5756872b Gerald Schaefer 2008-08-21 670 rc = -EEXIST; b2300b9efe1b81 Hongjie Yang 2008-10-10 671 goto release_gd; 04f64b5756872b Gerald Schaefer 2008-08-21 672 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 673 rc = dcssblk_assign_free_minor(dev_info); b2300b9efe1b81 Hongjie Yang 2008-10-10 674 if (rc) b2300b9efe1b81 Hongjie Yang 2008-10-10 675 goto release_gd; ^1da177e4c3f41 Linus Torvalds 2005-04-16 676 sprintf(dev_info->gd->disk_name, "dcssblk%d", d0591485e15ccd Gerald Schaefer 2009-06-12 677 dev_info->gd->first_minor); ^1da177e4c3f41 Linus Torvalds 2005-04-16 678 list_add_tail(&dev_info->lh, &dcssblk_devices); ^1da177e4c3f41 Linus Torvalds 2005-04-16 679 ^1da177e4c3f41 Linus Torvalds 2005-04-16 680 if (!try_module_get(THIS_MODULE)) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 681 rc = -ENODEV; b2300b9efe1b81 Hongjie Yang 2008-10-10 682 goto dev_list_del; ^1da177e4c3f41 Linus Torvalds 2005-04-16 683 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 684 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 685 * register the device ^1da177e4c3f41 Linus Torvalds 2005-04-16 686 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 687 rc = device_register(&dev_info->dev); b2300b9efe1b81 Hongjie Yang 2008-10-10 688 if (rc) 521b3d790c16fa Sebastian Ott 2012-10-01 689 goto put_dev; ^1da177e4c3f41 Linus Torvalds 2005-04-16 690 653d7825c14993 Dan Williams 2025-02-28 691 rc = dcssblk_setup_dax(dev_info); fb08a1908cb119 Christoph Hellwig 2021-11-29 692 if (rc) fb08a1908cb119 Christoph Hellwig 2021-11-29 693 goto out_dax; 7a2765f6e82063 Dan Williams 2017-01-26 694 521b3d790c16fa Sebastian Ott 2012-10-01 695 get_device(&dev_info->dev); 1a5db707c859a4 Gerald Schaefer 2021-09-27 696 rc = device_add_disk(&dev_info->dev, dev_info->gd, NULL); 1a5db707c859a4 Gerald Schaefer 2021-09-27 697 if (rc) fb08a1908cb119 Christoph Hellwig 2021-11-29 698 goto out_dax_host; 436d1bc7fe6e78 Christian Borntraeger 2007-12-04 699 ^1da177e4c3f41 Linus Torvalds 2005-04-16 700 switch (dev_info->segment_type) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 701 case SEG_TYPE_SR: ^1da177e4c3f41 Linus Torvalds 2005-04-16 702 case SEG_TYPE_ER: ^1da177e4c3f41 Linus Torvalds 2005-04-16 703 case SEG_TYPE_SC: ^1da177e4c3f41 Linus Torvalds 2005-04-16 704 set_disk_ro(dev_info->gd,1); ^1da177e4c3f41 Linus Torvalds 2005-04-16 705 break; ^1da177e4c3f41 Linus Torvalds 2005-04-16 706 default: ^1da177e4c3f41 Linus Torvalds 2005-04-16 707 set_disk_ro(dev_info->gd,0); ^1da177e4c3f41 Linus Torvalds 2005-04-16 708 break; ^1da177e4c3f41 Linus Torvalds 2005-04-16 709 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 710 up_write(&dcssblk_devices_sem); ^1da177e4c3f41 Linus Torvalds 2005-04-16 711 rc = count; ^1da177e4c3f41 Linus Torvalds 2005-04-16 712 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 713 fb08a1908cb119 Christoph Hellwig 2021-11-29 714 out_dax_host: c8f40a0bccefd6 Gerald Schaefer 2023-08-10 715 put_device(&dev_info->dev); fb08a1908cb119 Christoph Hellwig 2021-11-29 716 dax_remove_host(dev_info->gd); 1a5db707c859a4 Gerald Schaefer 2021-09-27 717 out_dax: 1a5db707c859a4 Gerald Schaefer 2021-09-27 @718 kill_dax(dev_info->dax_dev); 1a5db707c859a4 Gerald Schaefer 2021-09-27 @719 put_dax(dev_info->dax_dev); 521b3d790c16fa Sebastian Ott 2012-10-01 720 put_dev: ^1da177e4c3f41 Linus Torvalds 2005-04-16 721 list_del(&dev_info->lh); 8b9ab62662048a Christoph Hellwig 2022-06-19 722 put_disk(dev_info->gd); b2300b9efe1b81 Hongjie Yang 2008-10-10 723 list_for_each_entry(seg_info, &dev_info->seg_list, lh) { b2300b9efe1b81 Hongjie Yang 2008-10-10 724 segment_unload(seg_info->segment_name); b2300b9efe1b81 Hongjie Yang 2008-10-10 725 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 726 put_device(&dev_info->dev); ^1da177e4c3f41 Linus Torvalds 2005-04-16 727 up_write(&dcssblk_devices_sem); ^1da177e4c3f41 Linus Torvalds 2005-04-16 728 goto out; b2300b9efe1b81 Hongjie Yang 2008-10-10 729 dev_list_del: ^1da177e4c3f41 Linus Torvalds 2005-04-16 730 list_del(&dev_info->lh); b2300b9efe1b81 Hongjie Yang 2008-10-10 731 release_gd: 8b9ab62662048a Christoph Hellwig 2022-06-19 732 put_disk(dev_info->gd); b2300b9efe1b81 Hongjie Yang 2008-10-10 733 up_write(&dcssblk_devices_sem); b2300b9efe1b81 Hongjie Yang 2008-10-10 734 seg_list_del: b2300b9efe1b81 Hongjie Yang 2008-10-10 735 if (dev_info == NULL) b2300b9efe1b81 Hongjie Yang 2008-10-10 736 goto out; b2300b9efe1b81 Hongjie Yang 2008-10-10 737 list_for_each_entry_safe(seg_info, temp, &dev_info->seg_list, lh) { b2300b9efe1b81 Hongjie Yang 2008-10-10 738 list_del(&seg_info->lh); b2300b9efe1b81 Hongjie Yang 2008-10-10 739 segment_unload(seg_info->segment_name); b2300b9efe1b81 Hongjie Yang 2008-10-10 740 kfree(seg_info); b2300b9efe1b81 Hongjie Yang 2008-10-10 741 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 742 kfree(dev_info); ^1da177e4c3f41 Linus Torvalds 2005-04-16 743 out: ^1da177e4c3f41 Linus Torvalds 2005-04-16 744 kfree(local_buf); ^1da177e4c3f41 Linus Torvalds 2005-04-16 745 out_nobuf: ^1da177e4c3f41 Linus Torvalds 2005-04-16 746 return rc; ^1da177e4c3f41 Linus Torvalds 2005-04-16 747 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 748 :::::: The code at line 718 was first introduced by commit :::::: 1a5db707c859a4f63c1066c5b88864d3f1c21c12 s390/block/dcssblk: add error handling support for add_disk() :::::: TO: Gerald Schaefer :::::: CC: Vasily Gorbik -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki