[lkml]   [2008]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 6/9] drivers/net/wireless/iwlwifi/iwl-4965.c: Correct use of ! and &

    * Julia Lawall <> wrote:

    > From: Julia Lawall <>
    > In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337, a bug was fixed
    > that involved converting !x & y to !(x & y). The code below shows the
    > same pattern, and thus should perhaps be fixed in the same way.

    > if (sta_ht_inf) {
    > if ((!sta_ht_inf->ht_supported) ||
    > - (!sta_ht_inf->cap & IEEE80211_HT_CAP_SUP_WIDTH))
    > + (!(sta_ht_inf->cap & IEEE80211_HT_CAP_SUP_WIDTH)))
    > return 0;

    i'm wondering, could Sparse be extended to check for such patterns?

    People are regularly running "make C=1" and are sending fixes to make
    entire subsystems sparse-warning-free, so Sparse is a nice mechanism
    that works and it keeps code clean in the long run.

    I dont think the "!X & Y" pattern is ever used legitimately [and even if
    it were used legitimately, it's easy to avoid the sparse false positive
    - while in the buggy case we have a clear bug].


     \ /
      Last update: 2008-03-05 07:43    [W:0.022 / U:13.808 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site