diff -r f500f32cfc51 -r 3a8eb6336012 src/mem/cache/cache.cc --- a/src/mem/cache/cache.cc Mon Dec 19 01:09:06 2016 -0600 +++ b/src/mem/cache/cache.cc Mon Dec 19 12:40:29 2016 -0600 @@ -2036,7 +2036,8 @@ // if we are returning a writable and dirty (Modified) line, // we should be invalidating the line - panic_if(!invalidate && !pkt->hasSharers(), + panic_if(!invalidate && !pkt->hasSharers() && + !pkt->req->isUncacheable(), "%s is passing a Modified line through %s, " "but keeping the block", name(), pkt->print());