With the _malloc() adjusted as suggested, I'm still not seeing scheduler bugs tracing back to the rtl8172 driver. I am however seeing allocation errors occasionally now in cryptodev on my test system, so all is still not right. This behavior was not present in 3.6.4, I haven't seen it in the 3.7 release candidates, I'm going to see if I can nail down the exact commit that introduced this issue with git-bisect to see if there is something that was masking the problem that's been removed, or something unexpected, etc. I'll report back once I have more info.
Josh C On Sun, Nov 18, 2012 at 1:20 PM, Andrew Lunn <and...@lunn.ch> wrote: >> >> diff -ruN a/drivers/staging/rtl8712/rtl871x_sta_mgt.c >> >> b/drivers/staging/rtl8712/rtl871x_sta_mgt.c >> >> --- a/drivers/staging/rtl8712/rtl871x_sta_mgt.c 2012-11-05 >> >> 03:57:06.000000000 -0500 >> >> +++ b/drivers/staging/rtl8712/rtl871x_sta_mgt.c 2012-11-13 >> >> 12:54:28.000000000 -0500 >> >> @@ -55,8 +55,8 @@ >> >> NUM_STA + 4); >> >> if (pstapriv->pallocated_stainfo_buf == NULL) >> >> return _FAIL; >> >> - pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 4 - >> >> - ((addr_t)(pstapriv->pallocated_stainfo_buf) & 3); >> >> + pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 8 - >> >> + ((addr_t)(pstapriv->pallocated_stainfo_buf) & 7); >> > >> > Are you sure this is safe? Is the allocated buffer large enough for >> > those additional 4 bytes of alignment you're adding? >> >> I'm not certain on that, I bumped the allocations at Andrew's >> suggestion, but don't know enough to certify the changes as 100% >> correct. > > Its not correct. > > The original code is: > > pstapriv->pallocated_stainfo_buf = _malloc(sizeof(struct sta_info) * > NUM_STA + 4); > if (pstapriv->pallocated_stainfo_buf == NULL) > return _FAIL; > pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 4 - > ((addr_t)(pstapriv->pallocated_stainfo_buf) & 3); > > The 4 in the _malloc() also needs increasing to 8. > > Andrew -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/