<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:49:11 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-5177] object leak in mdt_open_by_fid_lock()</title>
                <link>https://jira.whamcloud.com/browse/LU-5177</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;In mdt_open_by_fid_lock() parent may be leaked if the second call to mdt_object_find() fails.&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;int mdt_open_by_fid_lock(struct mdt_thread_info *info, struct ldlm_reply *rep,
                         struct mdt_lock_handle *lhc)
{
        const struct lu_env     *env   = info-&amp;gt;mti_env;
        struct mdt_device       *mdt   = info-&amp;gt;mti_mdt;
        __u64                    flags = info-&amp;gt;mti_spec.sp_cr_flags;
        struct mdt_reint_record *rr    = &amp;amp;info-&amp;gt;mti_rr;
        struct md_attr          *ma    = &amp;amp;info-&amp;gt;mti_attr;
        struct mdt_object       *parent= NULL;
        struct mdt_object       *o;
        int                      rc;
        __u64                    ibits = 0;
        ENTRY;

        if (md_should_create(flags) &amp;amp;&amp;amp; !(flags &amp;amp; MDS_OPEN_HAS_EA)) {
                if (!lu_fid_eq(rr-&amp;gt;rr_fid1, rr-&amp;gt;rr_fid2)) {
                        parent = mdt_object_find(env, mdt, rr-&amp;gt;rr_fid1);
                        if (IS_ERR(parent)) {
                                CDEBUG(D_INODE, &quot;Fail to find parent &quot;DFID
                                       &quot; for anonymous created %ld, try to&quot;
                                       &quot; use server-side parent.\n&quot;,
                                       PFID(rr-&amp;gt;rr_fid1), PTR_ERR(parent));
                                parent = NULL;
                        }
                }
                if (parent == NULL)
                        ma-&amp;gt;ma_need |= MA_PFID;
        }

        o = mdt_object_find(env, mdt, rr-&amp;gt;rr_fid2);
        if (IS_ERR(o))
                RETURN(rc = PTR_ERR(o));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="25113">LU-5177</key>
            <summary>object leak in mdt_open_by_fid_lock()</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="1" iconUrl="https://jira.whamcloud.com/images/icons/priorities/blocker.svg">Blocker</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="tappro">Mikhail Pershin</assignee>
                                    <reporter username="jhammond">John Hammond</reporter>
                        <labels>
                            <label>mdt</label>
                    </labels>
                <created>Wed, 11 Jun 2014 21:35:17 +0000</created>
                <updated>Thu, 26 Jun 2014 17:26:55 +0000</updated>
                            <resolved>Thu, 26 Jun 2014 17:26:55 +0000</resolved>
                                    <version>Lustre 2.6.0</version>
                                    <fixVersion>Lustre 2.6.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="86382" author="jhammond" created="Wed, 11 Jun 2014 22:06:21 +0000"  >&lt;p&gt;Also in mdt_intent_layout()&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;static int mdt_intent_layout(enum mdt_it_code opcode,
                             struct mdt_thread_info *info,
                             struct ldlm_lock **lockp,
                             __u64 flags)
{
        ...
        struct mdt_object *obj = NULL;
        ...

        fid = &amp;amp;info-&amp;gt;mti_tmp_fid2;
        fid_extract_from_res_name(fid, &amp;amp;(*lockp)-&amp;gt;l_resource-&amp;gt;lr_name);

        obj = mdt_object_find(info-&amp;gt;mti_env, info-&amp;gt;mti_mdt, fid);
        if (IS_ERR(obj))
                RETURN(PTR_ERR(obj));

        if (mdt_object_exists(obj) &amp;amp;&amp;amp; !mdt_object_remote(obj)) {
                /* get the length of lsm */
                rc = mdt_attr_get_eabuf_size(info, obj);
                if (rc &amp;lt; 0)
                        RETURN(rc); /* &amp;lt;---------------------------------- HERE */

                if (rc &amp;gt; info-&amp;gt;mti_mdt-&amp;gt;mdt_max_mdsize)
                        info-&amp;gt;mti_mdt-&amp;gt;mdt_max_mdsize = rc;
        }

        mdt_object_put(info-&amp;gt;mti_env, obj);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="86386" author="jhammond" created="Wed, 11 Jun 2014 22:14:06 +0000"  >&lt;p&gt;In mdt_md_create() child is passed to mdt_create_pack_capa() after being released.&lt;/p&gt;</comment>
                            <comment id="86825" author="adilger" created="Tue, 17 Jun 2014 17:43:56 +0000"  >&lt;p&gt;Mike, any progress on this issue?  It is listed as a 2.6.0 blocker.&lt;/p&gt;</comment>
                            <comment id="87004" author="tappro" created="Thu, 19 Jun 2014 06:41:49 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/10750&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/10750&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="87592" author="jlevi" created="Thu, 26 Jun 2014 17:26:55 +0000"  >&lt;p&gt;Patch landed to Master.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="19654">LU-3544</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="25115">LU-5178</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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|hzwo7z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>14371</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>