* Julia Lawall <julia@xxxxxxx> wrote: > From: Julia Lawall <julia@xxxxxxx> > > 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]. Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html