Open-Source Projects: Issueshttps://forge.ispras.ru/https://forge.ispras.ru/favicon.ico?16490126692020-12-23T12:21:53ZOpen-Source Projects
Redmine Klever - Feature #10640 (New): Add an ability to show difference of coverage reportshttps://forge.ispras.ru/issues/106402020-12-23T12:21:53ZPavel Andrianovandrianov@ispras.ru
<p>If you have two similar launches, for example, for two kernel configurations, you may need to look at difference, particularly in coverage data.</p>
<p>I know that it may be implemented as subtraction, as in Kedr by Andrey Tsivarev. However, it is possible to create something different, as the Klever has more powerful visualization than Lcov.</p> Klever - Feature #10151 (New): Add shortcuts for most popular eventshttps://forge.ispras.ru/issues/101512020-03-06T09:58:50ZEvgeny Novikovnovikov@ispras.ru
<p>Users can do different actions with various entities. Some of these actions may be very popular and it may be more convenient, easier and faster to perform these actions directly in lists of entities or at the job tree page without moving to particular entity pages. Some actions were already identified and there are appropriate shortcuts, but we need more.</p> Klever - Feature #8562 (New): Add search for markshttps://forge.ispras.ru/issues/85622017-11-10T14:31:04ZAnton Vasilyevvasilyev@ispras.ru
<p>It will be useful for user to have ability to manual quick search through all marks.</p>
Possible search criteria for marks:
<ol>
<li>by some phrase at Description</li>
<li>function at error trace</li>
<li>tags, status</li>
</ol>
<p>It seems that functionality could extend View screen.</p> Klever - Feature #8143 (New): Add support for logging reportshttps://forge.ispras.ru/issues/81432017-04-24T08:00:19ZEvgeny Novikovnovikov@ispras.ru
<p>Sometimes for debugging purposes it can be useful to log some information on reports from the Bridge side. The initial support for this was implemented in branch <em>logging-reports</em>. Now it should become compatible with the standard mode when information on reports isn't logged.</p> Klever - Feature #8102 (New): Add an ability to specify or/and to change compared verification jo...https://forge.ispras.ru/issues/81022017-04-19T13:40:09ZEvgeny Novikovnovikov@ispras.ru
<p>Often a verification job which one would like to see on the right is shown on the left due to a corresponding verification job is higher then the other one. So there should be a button to compare jobs in the reverse order when they are selected at the job tree page.</p>
<p>In addition I suppose to add an ability to select verification jobs for comparison directly at the job page. This should look like a basket in an internet shop. One should be able to easily analyze and to change verification jobs already added for comparison.</p> Klever - Feature #8017 (New): Add an option for users to see tag sets rather than tag mapshttps://forge.ispras.ru/issues/80172017-03-07T11:02:30ZEvgeny Novikovnovikov@ispras.ru
<p>See the discussion at <a class="issue tracker-4 status-5 priority-5 priority-high3 closed behind-schedule" title="Feature: Do not repeat the same tags for the same unsafe at unsafes list page (Closed)" href="https://forge.ispras.ru/issues/7962">#7962</a>.</p> Klever - Feature #6708 (New): Add howto for regular expressions used as patterns and problems for...https://forge.ispras.ru/issues/67082016-02-02T12:58:21ZEvgeny Novikovnovikov@ispras.ru
<p>Some basic use cases and link to the detailed description is welcome.</p> Linux Kernel Safety RuleDB - Feature #3866 (New): 149: double use of init_completion()https://forge.ispras.ru/issues/38662013-01-18T14:44:30ZVladimir Gratinskiygratinskiy@ispras.ru
<p>Repeating use of init_completion() would be able to create possible race condition.<br />To avoid it we can reinit completion using INIT_COMPLETION(). Commit 41682e03d4f on torvalds fix this problem.<br /><pre>
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=41682e03d4f
</pre><br />In some cases (for example, if the critical section is used) double use of init_complition() don't lead to error.</p> Linux Kernel Safety RuleDB - Feature #3865 (Open): 148: completion must be initialized before eve...https://forge.ispras.ru/issues/38652013-01-18T14:29:45ZVladimir Gratinskiygratinskiy@ispras.ru
<p>Before each use of completion the corresponding initialization has to be carried out.<br /><em>Either static:</em><br /> <code>DECLARE_COMPLETION()</code><br /><em>or dynamic:</em><br /> <code>init_completion()</code></p> Linux Kernel Safety RuleDB - Feature #3831 (Open): 146: Mixing operations of RCU nested read sect...https://forge.ispras.ru/issues/38312012-12-27T09:27:15ZVadim Mutilinmutilin@ispras.ru
<p><strong>Name</strong><br />RCU read sections nesting <br /><strong>Title</strong><br />Mixing operations of RCU nested read sections of different types<br /><strong>Description</strong><br />Nested RCU read sections are allowed by Linux documentation, one read section may contain inside another read section. Read section starts with rcu_read_lock and ends with rcu_read_unlock operation. It is prohibited to mix start of one type of section with end of another type of section. For example, it is prohibited to mix original RCU and RCU BH operations.</p>
<p><strong>Examples</strong><br />Example of incorrect behavior:<br />rcu_read_lock(); // starting original RCU section<br />rcu_read_lock_bh(); //starting RCU BH nested section<br />rcu_read_unlock(); //BUG: RCU BH section should be ended first!<br />rcu_read_unlock_bh();</p>
<p>Correct usage example:<br />rcu_read_lock();<br />rcu_read_lock_bh();<br />rcu_read_unlock_bh();<br />rcu_read_unlock();</p> Linux Kernel Safety RuleDB - Feature #3399 (Open): 143: Usage of semaphoreshttps://forge.ispras.ru/issues/33992012-09-04T13:09:35ZVladimir Gratinskiygratinskiy@ispras.ru
<p>It is necessary to use semaphore correctly. This rule checks usage of the functions: up_read, down_read, up_write, down_write, down_read_trylock, down_write_trylock, downgrade_write, down_read_nested, down_write_nested.</p>
<ul>
<li> - multiple write locks are not permitted<br /> - multiple write unlocks are not permitted</li>
<li> - read lock is not permitted after write lock</li>
<li> - write lock is not permitted after read lock</li>
<li> - read and write locks must be free at the end</li>
</ul>
<p>Commit 82163edcdf on torvalds fix the last one.</p>
<p><strong>Links</strong><br />Sample bugfixes <a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=506218e" class="external">506218e</a>, <a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=de79143" class="external">de79143</a></p> Linux Kernel Safety RuleDB - Feature #3340 (Open): 142: Usage of mod_timer()https://forge.ispras.ru/issues/33402012-08-14T09:23:13ZVladimir Gratinskiygratinskiy@ispras.ru
<p>It's necessary to use absolute time instead of relative for mode_timer().<br />The old implementation used a relative timeout thus the hardware watchdog was never triggered.<br />Commit f9e4715 show how to use it:</p>
<blockquote>
<p>-#define next_ping_period(cks) msecs_to_jiffies(cks - 4)<br />+#define next_ping_period(cks) (jiffies + msecs_to_jiffies(cks - 4))</p>
</blockquote> Linux Kernel Safety RuleDB - Feature #3317 (Resolved): 010: Usage of a GFP_ATOMIC flag in functio...https://forge.ispras.ru/issues/33172012-08-01T15:08:40ZVladimir Gratinskiygratinskiy@ispras.ru
<p>When calling memory allocation function from the context of interrupt it's required to ensure a non-preemptible execution of the function; but in the case of GFP_KERNEL flag, function execution can be preempted, because a greater number of operations to find and allocate memory blocks is executed.</p>
<p>Verification: If some function is positioned as one that "is executed in a context of interrupt" then it's required to ensure checking for a necessary usage of the GFP_ATOMIC flag in the memory allocation functions for kernel modules.</p>
<p>Example:<br />void* ptr = kmalloc(size, GFP_ATOMIC);</p> Linux Kernel Safety RuleDB - Feature #2771 (Open): 111: Check that integer underflow doesn't happ...https://forge.ispras.ru/issues/27712012-04-19T13:31:59ZEvgeny Novikovnovikov@ispras.ru
<p>Somebody can pass negative values as a number of bytes to be copied from user. But copy_from_user() (and some similar functions) expects unsigned long int value, so negative values will lead to integer underflow. This issue belongs to <em>specific:check_params</em>, but also can be treated as <em>generic:int_overflow</em>. Commit 064368f of linux-stable represents the issue. Model 111_2a will take care on it.<br />And in additional 111_2a check if number of bytes is less than buffer's size.</p>
<p><strong>Links</strong><br />Sample bugfixes <a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=42f9f8d" class="external">42f9f8d</a>, <a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=5c9843a" class="external">5c9843a</a>, <a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=064368f" class="external">064368f</a>, <a href="https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=5934df9" class="external">5934df9</a></p> Linux Kernel Safety RuleDB - Feature #2606 (Open): 119: probe functions should not return -EINTRhttps://forge.ispras.ru/issues/26062012-03-16T21:45:04ZAlexey Khoroshilovkhoroshilov@ispras.ru
<blockquote>
<p>On Fri, Mar 16, 2012 at 10:02 PM, Oliver Neukum wrote:</p>
<blockquote><blockquote><blockquote>
<p>Indeed there's a lot wrong here. The idea of having an interruptible<br />sleep in probe() is arcane. You need a very, very, very good reason for that.</p>
</blockquote></blockquote>
<p>Can you please explain why interruptible sleep should not be in probe() ?<br />I am curious to know.</p>
</blockquote></blockquote>
<p>-EINTR is supposed to be returned to user space, so that it can repeat<br />an interrupted syscall.</p>
<p>- There is no user space for probe()<br />- probe() cannot be easily repeated from user space<br />- there is no syscall for probe</p>