<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:35:12 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-10450] NULL pointer deref in mdd_changelog_data_store_by_fid+0xfa</title>
                <link>https://jira.whamcloud.com/browse/LU-10450</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;Seems to be introduced by &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9727&quot; title=&quot;Lustre Audit with Changelogs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9727&quot;&gt;&lt;del&gt;LU-9727&lt;/del&gt;&lt;/a&gt; patch &lt;a href=&quot;https://review.whamcloud.com/28114&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/28114&lt;/a&gt;&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;[75525.109249] Lustre: DEBUG MARKER: == sanity test 232a: failed lock should not block umount ============================================= 21:15:03 (1514081703)
[75525.200932] Lustre: *** cfs_fail_loc=31c, val=0***
[75525.201581] LustreError: 11-0: lustre-OST0000-osc-ffff88029158c800: operation ldlm_enqueue to node 0@lo failed: rc = -12
[75526.044646] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
[75526.046450] IP: [&amp;lt;ffffffffa124d9ba&amp;gt;] mdd_changelog_data_store_by_fid+0xfa/0x1c0 [mdd]
[75526.047346] PGD 0 
[75526.047757] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
[75526.048211] Modules linked in: brd lustre(OE) ofd(OE) osp(OE) lod(OE) ost(OE) mdt(OE) mdd(OE) mgs(OE) osd_zfs(OE) lquota(OE) lfsck(OE) obdecho(OE) mgc(OE) lov(OE) mdc(OE) osc(OE) lmv(OE) fid(OE) fld(OE) ptlrpc_gss(OE) ptlrpc(OE) obdclass(OE) ksocklnd(OE) lnet(OE) libcfs(OE) ext4 mbcache loop zfs(PO) zunicode(PO) zavl(PO) icp(PO) zcommon(PO) znvpair(PO) spl(O) zlib_deflate jbd2 syscopyarea ata_generic sysfillrect pata_acpi sysimgblt ttm drm_kms_helper ata_piix i2c_piix4 drm virtio_balloon virtio_console pcspkr i2c_core libata serio_raw virtio_blk floppy nfsd ip_tables rpcsec_gss_krb5 [last unloaded: libcfs]
[75526.053084] CPU: 0 PID: 19445 Comm: mdt00_001 Tainted: P           OE  ------------   3.10.0-debug #2
[75526.053959] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011
[75526.054557] task: ffff8800a0182600 ti: ffff8802d4fc8000 task.ti: ffff8802d4fc8000
[75526.055830] RIP: 0010:[&amp;lt;ffffffffa124d9ba&amp;gt;]  [&amp;lt;ffffffffa124d9ba&amp;gt;] mdd_changelog_data_store_by_fid+0xfa/0x1c0 [mdd]
[75526.057220] RSP: 0018:ffff8802d4fcbaa0  EFLAGS: 00010246
[75526.057688] RAX: 0000000000000040 RBX: ffff8802d4fcbbf0 RCX: 0000000000000060
[75526.058159] RDX: 0000000000000042 RSI: 0000000000000001 RDI: ffff8802ac9b9f90
[75526.058727] RBP: ffff8802d4fcbae8 R08: ffff88024fe15dc8 R09: ffff8800bb225480
[75526.059197] R10: 0000000000009042 R11: 0000000000000000 R12: ffff8802ac9b9f80
[75526.061825] R13: 0000000000000000 R14: ffff8802ac9b9f90 R15: 0000000000000000
[75526.062445] FS:  0000000000000000(0000) GS:ffff88033e400000(0000) knlGS:0000000000000000
[75526.063454] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[75526.063987] CR2: 0000000000000018 CR3: 00000002a55f6000 CR4: 00000000000006f0
[75526.064553] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[75526.065395] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[75526.066085] Stack:
[75526.066502]  ffff8800bb225480 0000000b00000000 ffff88025241fc00 0000007000009042
[75526.067576]  ffff880304158fa0 ffff8802d4fcbbf0 ffff8800bb225480 0000000000000000
[75526.068786]  0000000000000000 ffff8802d4fcbb08 ffffffffa124ea80 ffff880304158fa0
[75526.069698] Call Trace:
[75526.070168]  [&amp;lt;ffffffffa124ea80&amp;gt;] mdd_changelog_data_store+0xf0/0x220 [mdd]
[75526.070687]  [&amp;lt;ffffffffa124f95b&amp;gt;] mdd_close+0x25b/0xcf0 [mdd]
[75526.071207]  [&amp;lt;ffffffffa12c1b58&amp;gt;] mdt_mfd_close+0x478/0x730 [mdt]
[75526.071709]  [&amp;lt;ffffffffa12904a1&amp;gt;] mdt_obd_disconnect+0x371/0x680 [mdt]
[75526.072335]  [&amp;lt;ffffffffa05c024f&amp;gt;] target_handle_disconnect+0x13f/0x4c0 [ptlrpc]
[75526.073287]  [&amp;lt;ffffffffa065c817&amp;gt;] tgt_disconnect+0x37/0x140 [ptlrpc]
[75526.073869]  [&amp;lt;ffffffffa06651ab&amp;gt;] tgt_request_handle+0x93b/0x13e0 [ptlrpc]
[75526.074395]  [&amp;lt;ffffffffa060a141&amp;gt;] ptlrpc_server_handle_request+0x261/0xaf0 [ptlrpc]
[75526.075333]  [&amp;lt;ffffffffa060def8&amp;gt;] ptlrpc_main+0xa58/0x1df0 [ptlrpc]
[75526.075895]  [&amp;lt;ffffffffa060d4a0&amp;gt;] ? ptlrpc_register_service+0xeb0/0xeb0 [ptlrpc]
[75526.076806]  [&amp;lt;ffffffff810a2eba&amp;gt;] kthread+0xea/0xf0
[75526.077250]  [&amp;lt;ffffffff810a2dd0&amp;gt;] ? kthread_create_on_node+0x140/0x140
[75526.077772]  [&amp;lt;ffffffff8170fb98&amp;gt;] ret_from_fork+0x58/0x90
[75526.078239]  [&amp;lt;ffffffff810a2dd0&amp;gt;] ? kthread_create_on_node+0x140/0x140
[75526.078744] Code: 56 08 4d 8d 74 24 10 49 89 44 24 30 31 c0 45 85 ff 49 89 54 24 38 66 41 89 44 24 10 75 53 be 01 00 00 00 4c 89 f7 e8 76 23 ff ff &amp;lt;41&amp;gt; 8b 55 18 41 8b 75 14 4c 89 f7 e8 a6 23 ff ff 48 8b 0c 24 48 
[75526.080697] RIP  [&amp;lt;ffffffffa124d9ba&amp;gt;] mdd_changelog_data_store_by_fid+0xfa/0x1c0 [mdd]
[75526.081632]  RSP &amp;lt;ffff8802d4fcbaa0&amp;gt;
[75526.082083] CR2: 0000000000000018
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;(gdb) l *(mdd_changelog_data_store_by_fid+0xfa)
0x219ea is in mdd_changelog_data_store_by_fid (/home/green/git/lustre-release/lustre/mdd/mdd_object.c:675).
670			mdd_changelog_rec_ext_jobid(&amp;amp;rec-&amp;gt;cr, uc-&amp;gt;uc_jobid);
671
672		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (flags &amp;amp; CLF_EXTRA_FLAGS) {
673			mdd_changelog_rec_ext_extra_flags(&amp;amp;rec-&amp;gt;cr, xflags);
674			&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (xflags &amp;amp; CLFE_UIDGID)
675				mdd_changelog_rec_extra_uidgid(&amp;amp;rec-&amp;gt;cr,
676							       uc-&amp;gt;uc_uid, uc-&amp;gt;uc_gid);
677		}
678
679		rc = mdd_changelog_store(env, mdd, rec, handle);
(gdb) quit
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If we look at this function, we can see this bit of code at the start:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;        &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; xflags = CLFE_INVALID;
...
        flags = (flags &amp;amp; CLF_FLAGMASK) | CLF_VERSION | CLF_EXTRA_FLAGS;
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (uc != NULL &amp;amp;&amp;amp; uc-&amp;gt;uc_jobid[0] != &lt;span class=&quot;code-quote&quot;&gt;&apos;\0&apos;&lt;/span&gt;)
                flags |= CLF_JOBID;

        xflags |= CLFE_UIDGID;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It looks like we really need to move that xflags assignment into under the if case?&lt;/p&gt;

&lt;p&gt;Also should we really be ORin the new flags onto invalid bit, or sohuld that just become a proper assignment?&lt;/p&gt;</description>
                <environment></environment>
        <key id="50025">LU-10450</key>
            <summary>NULL pointer deref in mdd_changelog_data_store_by_fid+0xfa</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</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="3">Duplicate</resolution>
                                        <assignee username="sbuisson">Sebastien Buisson</assignee>
                                    <reporter username="green">Oleg Drokin</reporter>
                        <labels>
                    </labels>
                <created>Wed, 3 Jan 2018 17:16:02 +0000</created>
                <updated>Thu, 4 Jan 2018 17:35:25 +0000</updated>
                            <resolved>Thu, 4 Jan 2018 17:35:25 +0000</resolved>
                                    <version>Lustre 2.11.0</version>
                                    <fixVersion>Lustre 2.11.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                            <comments>
                            <comment id="217379" author="simmonsja" created="Wed, 3 Jan 2018 17:24:58 +0000"  >&lt;p&gt;Yep. I just seen it in my testing as well.&lt;/p&gt;</comment>
                            <comment id="217383" author="pjones" created="Wed, 3 Jan 2018 17:55:18 +0000"  >&lt;p&gt;Sebastien&lt;/p&gt;

&lt;p&gt;Could you please investigate?&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="50035">LU-10454</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="46984">LU-9727</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|hzzqbb:</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>