<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:20:35 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-15702] (lov_lock.c:206:lov_lock_sub_init()) ASSERTION( (!(result == 0) || (nr == lovlck-&gt;lls_nr)) ) failed: </title>
                <link>https://jira.whamcloud.com/browse/LU-15702</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;See on v2_15_0-RC2-25-g9884f37985. The failed assertion of &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-14618&quot; title=&quot;when lov sub-lock initialization fails, LBUG: ASSERTION( (!(result == 0) || (nr == lovlck-&amp;gt;lls_nr)) ) ensues&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-14618&quot;&gt;&lt;del&gt;LU-14618&lt;/del&gt;&lt;/a&gt; is still reachable. To reproduce:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;$LUSTRE/tests/llmount.sh
lfs setstripe \
  -E 1M -c 4 \
  -E 2M -c 4 \
  -E 3M -c 4 \
  -E 4M -c 4 \
  -E 5M -c 4 \
  -E 6M -c 4 \
  -E 7M -c 4 \
  -E 8M -c 4 \
  -E 9M -c 4 \
  -E 10M -c 4 \
  -E 11M -c 4 \
  -E 12M -c 4 \
  -E 13M -c 4 \
  -E 14M -c 4 \
  -E 15M -c 4 \
  -E eof -c 4 \
  /mnt/lustre
$LUSTRE/tests/racer.sh
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[  248.230101] LustreError: 50541:0:(lov_lock.c:206:lov_lock_sub_init()) LBUG
[  248.230626] Pid: 50541, comm: truncate 4.18.0-348.7.1.el8.x86_64+debug #1 SMP Mon Mar 7 11:31:18 CST 2022
[  248.231401] Call Trace TBD:
[  248.231636] [&amp;lt;0&amp;gt;] libcfs_call_trace+0x99/0x140 [libcfs]
[  248.232050] [&amp;lt;0&amp;gt;] lbug_with_loc+0x8f/0x100 [libcfs]
[  248.232664] [&amp;lt;0&amp;gt;] lov_lock_sub_init+0x2115/0x2330 [lov]
[  248.233081] [&amp;lt;0&amp;gt;] lov_lock_init_composite+0xf1/0x1f0 [lov]
[  248.233560] [&amp;lt;0&amp;gt;] cl_lock_init+0x23d/0x410 [obdclass]
[  248.234029] [&amp;lt;0&amp;gt;] cl_lock_request+0x11f/0x370 [obdclass]
[  248.234619] [&amp;lt;0&amp;gt;] cl_io_lock+0x36e/0xa20 [obdclass]
[  248.235045] [&amp;lt;0&amp;gt;] cl_io_loop+0x16d/0x480 [obdclass]
[  248.235471] [&amp;lt;0&amp;gt;] cl_setattr_ost+0x77e/0xaa0 [lustre]
[  248.235876] [&amp;lt;0&amp;gt;] ll_setattr_raw+0x15fe/0x2d30 [lustre]
[  248.236290] [&amp;lt;0&amp;gt;] notify_change+0x743/0xd78
[  248.236613] [&amp;lt;0&amp;gt;] do_truncate+0xe2/0x180
[  248.236912] [&amp;lt;0&amp;gt;] vfs_truncate+0x368/0x400
[  248.237217] [&amp;lt;0&amp;gt;] do_sys_truncate.part.10+0xe0/0x100
[  248.237576] [&amp;lt;0&amp;gt;] do_syscall_64+0xa5/0x430
[  248.237877] [&amp;lt;0&amp;gt;] entry_SYSCALL_64_after_hwframe+0x6a/0xdf
[  248.238279] Kernel panic - not syncing: LBUG
[  248.238596] CPU: 2 PID: 50541 Comm: truncate Kdump: loaded Tainted: G        W  OE    &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is caused by a data race on the lo_trunc_stripeno member of struct lov_layout_raid0.&lt;/p&gt;

&lt;p&gt;It is possible to cause slab out of bounds errors (and hence memory corruption) in the same way:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[ 1494.352844] ==================================================================
[ 1494.353591] BUG: KASAN: slab-out-of-bounds in lov_lock_sub_init+0x201b/0x2640 [lov]
[ 1494.354310] Read of size 8 at addr ffff888059512700 by task truncate/28602
[ 1494.354928]
[ 1494.355058] CPU: 3 PID: 28602 Comm: truncate Kdump: loaded Tainted: G        W  OE    --------- -  - 4.18.0-348.7\
.1.el8.x86_64+debug #1
[ 1494.356192] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.13.0-1ubuntu1.1 04/01/2014
[ 1494.356990] Call Trace:
[ 1494.357253]  dump_stack+0x8e/0xd0
[ 1494.357549]  ? lov_lock_sub_init+0x201b/0x2640 [lov]
[ 1494.357984]  print_address_description.constprop.5+0x1e/0x230
[ 1494.358521]  ? kmsg_dump_rewind_nolock+0xd9/0xd9
[ 1494.359006]  ? lov_lock_sub_init+0x201b/0x2640 [lov]
[ 1494.359455]  ? lov_lock_sub_init+0x201b/0x2640 [lov]
[ 1494.359917]  ? lov_lock_sub_init+0x201b/0x2640 [lov]
[ 1494.360389]  __kasan_report.cold.7+0x37/0x86
[ 1494.360757]  ? lov_lock_sub_init+0x201b/0x2640 [lov]
[ 1494.361211]  kasan_report+0x37/0x50
[ 1494.361493]  lov_lock_sub_init+0x201b/0x2640 [lov]
[ 1494.361895]  ? lov_lock_fini+0x810/0x810 [lov]
[ 1494.362269]  ? lov_io_iter_init+0x901/0x1960 [lov]
[ 1494.362684]  ? libcfs_debug_msg+0x9d/0xd0 [libcfs]
[ 1494.362866] LustreError: 27720:0:(lov_lock.c:209:lov_lock_sub_init()) result=0, nr=28, lls_nr=27
[ 1494.363141]  lov_lock_init_composite+0xf5/0x200 [lov]
[ 1494.363183]  cl_lock_init+0x23d/0x3f0 [obdclass]
[ 1494.364977]  cl_lock_request+0x120/0x350 [obdclass]
[ 1494.365397]  cl_io_lock+0x85c/0x1240 [obdclass]
[ 1494.365795]  ? vvp_io_init+0x5aa/0xb90 [lustre]
[ 1494.366261]  cl_io_loop+0x16d/0x490 [obdclass]
[ 1494.366718]  cl_setattr_ost+0x76a/0xa90 [lustre]
[ 1494.367136]  ? cl_glimpse_size0+0x680/0x680 [lustre]
[ 1494.367621]  ? _raw_spin_unlock+0x1f/0x30
[ 1494.367987]  ? __ptlrpc_req_finished+0x50f/0x1320 [ptlrpc]
[ 1494.368483]  ? up_write+0x15c/0x490
[ 1494.368795]  ll_setattr_raw+0x1a1d/0x2ee0 [lustre]
[ 1494.369265]  ? ll_finish_md_op_data+0x210/0x210 [lustre]
[ 1494.369687]  ? ktime_get_coarse_real_ts64+0x127/0x1b0
[ 1494.370119]  notify_change+0x743/0xd78
[ 1494.370421]  ? libcfs_debug_vmsg2+0x23e0/0x23e0 [libcfs]
[ 1494.370866]  do_truncate+0xe2/0x180
[ 1494.371187]  ? file_open_root+0x1b0/0x1b0
[ 1494.371507]  ? inode_permission+0x25b/0x390
[ 1494.371847]  vfs_truncate+0x368/0x400
[ 1494.372193]  ? do_truncate+0x180/0x180
[ 1494.372499]  do_sys_truncate.part.10+0xe0/0x100
[ 1494.372863]  ? vfs_truncate+0x400/0x400
[ 1494.373224]  ? do_syscall_64+0x22/0x430
[ 1494.373520]  do_syscall_64+0xa5/0x430
[ 1494.373814]  entry_SYSCALL_64_after_hwframe+0x6a/0xdf
[ 1494.374257] RIP: 0033:0x7f87d92a5e2b
[ 1494.374550] Code: 8b 15 61 90 2c 00 f7 d8 64 89 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 48 89 d6 e9 f0 fe ff ff f3 0f 1e fa b8 4c 00 00 00 0f 05 &amp;lt;48&amp;gt; 3d 00 f0 ff ff 77 05 c3 0f 1f 40 00 48 8b 15 29 90 2c 00 f7
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This information (lo_trunc_stripno) must be moved out of the object and into the io. We do not have locking available to us to protect it from its initialization in &lt;tt&gt;lov_io_iter_init()&lt;/tt&gt; to its use in &lt;tt&gt;lov_lock_sub_init()&lt;/tt&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="69390">LU-15702</key>
            <summary>(lov_lock.c:206:lov_lock_sub_init()) ASSERTION( (!(result == 0) || (nr == lovlck-&gt;lls_nr)) ) failed: </summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="jhammond">John Hammond</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                    </labels>
                <created>Mon, 28 Mar 2022 17:13:40 +0000</created>
                <updated>Fri, 8 Apr 2022 17:50:19 +0000</updated>
                            <resolved>Sat, 2 Apr 2022 15:01:44 +0000</resolved>
                                    <version>Lustre 2.15.0</version>
                                    <fixVersion>Lustre 2.15.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="330421" author="gerrit" created="Mon, 28 Mar 2022 17:33:10 +0000"  >&lt;p&gt;&quot;John L. Hammond &amp;lt;jhammond@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/46940&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46940&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15702&quot; title=&quot;(lov_lock.c:206:lov_lock_sub_init()) ASSERTION( (!(result == 0) || (nr == lovlck-&amp;gt;lls_nr)) ) failed: &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15702&quot;&gt;&lt;del&gt;LU-15702&lt;/del&gt;&lt;/a&gt; lov: remove lo_trunc_stripeno&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 4a4bec13d705b5f766158f7d40f43b0ec19a7dfc&lt;/p&gt;</comment>
                            <comment id="330899" author="gerrit" created="Sat, 2 Apr 2022 06:58:12 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/46940/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/46940/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-15702&quot; title=&quot;(lov_lock.c:206:lov_lock_sub_init()) ASSERTION( (!(result == 0) || (nr == lovlck-&amp;gt;lls_nr)) ) failed: &quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-15702&quot;&gt;&lt;del&gt;LU-15702&lt;/del&gt;&lt;/a&gt; lov: remove lo_trunc_stripeno&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 42a6d1fdb6818f1b399dd1c1c540f003012a3b48&lt;/p&gt;</comment>
                            <comment id="330904" author="pjones" created="Sat, 2 Apr 2022 15:01:44 +0000"  >&lt;p&gt;Landed for 2.15&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="63826">LU-14618</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i02lxj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>