re: squashfs: enhance parallel I/O

Dan Carpenter
2013-11-06T16:18:36Z

Hello Minchan Kim,

This is a semi-automatic email about new static checker warnings.

The patch 8ae6a7f5a3a8: "squashfs: enhance parallel I/O" from Oct 28,
2013, leads to the following Smatch complaint:

fs/squashfs/decompressor_multi.c:124 squashfs_decompressor_destroy()
error: we previously assumed 'stream' could be null (see line 111)

fs/squashfs/decompressor_multi.c
110 struct squashfs_stream *stream = msblk->stream;
111 if (stream) {
^^^^^^
Patch introduces a check.

112 struct decomp_stream *decomp_strm;
113
114 while (!list_empty(&stream->strm_list)) {
115 decomp_strm = list_entry(stream->strm_list.prev,
116 struct decomp_stream, list);
117 list_del(&decomp_strm->list);
118 msblk->decompressor->free(decomp_strm->stream);
119 kfree(decomp_strm);
120 stream->avail_decomp--;
121 }
122 }
123
124 WARN_ON(stream->avail_decomp);
125 kfree(stream->comp_opts);
^^^^^^^^^^^^^^^^^
Patch introduces a couple unchecked dereferences.

126 kfree(stream);

regards,
dan carpenter