<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/block, branch linux-4.12.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>xen-blkfront: use a right index when checking requests</title>
<updated>2017-08-25T00:15:03+00:00</updated>
<author>
<name>Munehisa Kamata</name>
<email>kamatam@amazon.com</email>
</author>
<published>2017-08-09T22:31:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=33f1d0c79b044ac8d721d24ea0adb4146824d3bf'/>
<id>33f1d0c79b044ac8d721d24ea0adb4146824d3bf</id>
<content type='text'>
commit b15bd8cb37598afb2963f7eb9e2de468d2d60a2f upstream.

Since commit d05d7f40791c ("Merge branch 'for-4.8/core' of
git://git.kernel.dk/linux-block") and 3fc9d690936f ("Merge branch
'for-4.8/drivers' of git://git.kernel.dk/linux-block"), blkfront_resume()
has been using an index for iterating ring_info to check request when
iterating blk_shadow in an inner loop. This seems to have been
accidentally introduced during the massive rewrite of the block layer
macros in the commits.

This may cause crash like this:

[11798.057074] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048
[11798.058832] IP: [&lt;ffffffff814411fa&gt;] blkfront_resume+0x10a/0x610
....
[11798.061063] Call Trace:
[11798.061063]  [&lt;ffffffff8139ce93&gt;] xenbus_dev_resume+0x53/0x140
[11798.061063]  [&lt;ffffffff8139ce40&gt;] ? xenbus_dev_probe+0x150/0x150
[11798.061063]  [&lt;ffffffff813f359e&gt;] dpm_run_callback+0x3e/0x110
[11798.061063]  [&lt;ffffffff813f3a08&gt;] device_resume+0x88/0x190
[11798.061063]  [&lt;ffffffff813f4cc0&gt;] dpm_resume+0x100/0x2d0
[11798.061063]  [&lt;ffffffff813f5221&gt;] dpm_resume_end+0x11/0x20
[11798.061063]  [&lt;ffffffff813950a8&gt;] do_suspend+0xe8/0x1a0
[11798.061063]  [&lt;ffffffff813954bd&gt;] shutdown_handler+0xfd/0x130
[11798.061063]  [&lt;ffffffff8139aba0&gt;] ? split+0x110/0x110
[11798.061063]  [&lt;ffffffff8139ac26&gt;] xenwatch_thread+0x86/0x120
[11798.061063]  [&lt;ffffffff810b4570&gt;] ? prepare_to_wait_event+0x110/0x110
[11798.061063]  [&lt;ffffffff8108fe57&gt;] kthread+0xd7/0xf0
[11798.061063]  [&lt;ffffffff811da811&gt;] ? kfree+0x121/0x170
[11798.061063]  [&lt;ffffffff8108fd80&gt;] ? kthread_park+0x60/0x60
[11798.061063]  [&lt;ffffffff810863b0&gt;] ?  call_usermodehelper_exec_work+0xb0/0xb0
[11798.061063]  [&lt;ffffffff810864ea&gt;] ?  call_usermodehelper_exec_async+0x13a/0x140
[11798.061063]  [&lt;ffffffff81534a45&gt;] ret_from_fork+0x25/0x30

Use the right index in the inner loop.

Fixes: d05d7f40791c ("Merge branch 'for-4.8/core' of git://git.kernel.dk/linux-block")
Fixes: 3fc9d690936f ("Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-block")
Signed-off-by: Munehisa Kamata &lt;kamatam@amazon.com&gt;
Reviewed-by: Thomas Friebel &lt;friebelt@amazon.de&gt;
Reviewed-by: Eduardo Valentin &lt;eduval@amazon.com&gt;
Reviewed-by: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Cc: Juergen Gross &lt;jgross@suse.com&gt;
Cc: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Reviewed-by: Roger Pau Monne &lt;roger.pau@citrix.com&gt;
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b15bd8cb37598afb2963f7eb9e2de468d2d60a2f upstream.

Since commit d05d7f40791c ("Merge branch 'for-4.8/core' of
git://git.kernel.dk/linux-block") and 3fc9d690936f ("Merge branch
'for-4.8/drivers' of git://git.kernel.dk/linux-block"), blkfront_resume()
has been using an index for iterating ring_info to check request when
iterating blk_shadow in an inner loop. This seems to have been
accidentally introduced during the massive rewrite of the block layer
macros in the commits.

This may cause crash like this:

[11798.057074] BUG: unable to handle kernel NULL pointer dereference at 0000000000000048
[11798.058832] IP: [&lt;ffffffff814411fa&gt;] blkfront_resume+0x10a/0x610
....
[11798.061063] Call Trace:
[11798.061063]  [&lt;ffffffff8139ce93&gt;] xenbus_dev_resume+0x53/0x140
[11798.061063]  [&lt;ffffffff8139ce40&gt;] ? xenbus_dev_probe+0x150/0x150
[11798.061063]  [&lt;ffffffff813f359e&gt;] dpm_run_callback+0x3e/0x110
[11798.061063]  [&lt;ffffffff813f3a08&gt;] device_resume+0x88/0x190
[11798.061063]  [&lt;ffffffff813f4cc0&gt;] dpm_resume+0x100/0x2d0
[11798.061063]  [&lt;ffffffff813f5221&gt;] dpm_resume_end+0x11/0x20
[11798.061063]  [&lt;ffffffff813950a8&gt;] do_suspend+0xe8/0x1a0
[11798.061063]  [&lt;ffffffff813954bd&gt;] shutdown_handler+0xfd/0x130
[11798.061063]  [&lt;ffffffff8139aba0&gt;] ? split+0x110/0x110
[11798.061063]  [&lt;ffffffff8139ac26&gt;] xenwatch_thread+0x86/0x120
[11798.061063]  [&lt;ffffffff810b4570&gt;] ? prepare_to_wait_event+0x110/0x110
[11798.061063]  [&lt;ffffffff8108fe57&gt;] kthread+0xd7/0xf0
[11798.061063]  [&lt;ffffffff811da811&gt;] ? kfree+0x121/0x170
[11798.061063]  [&lt;ffffffff8108fd80&gt;] ? kthread_park+0x60/0x60
[11798.061063]  [&lt;ffffffff810863b0&gt;] ?  call_usermodehelper_exec_work+0xb0/0xb0
[11798.061063]  [&lt;ffffffff810864ea&gt;] ?  call_usermodehelper_exec_async+0x13a/0x140
[11798.061063]  [&lt;ffffffff81534a45&gt;] ret_from_fork+0x25/0x30

Use the right index in the inner loop.

Fixes: d05d7f40791c ("Merge branch 'for-4.8/core' of git://git.kernel.dk/linux-block")
Fixes: 3fc9d690936f ("Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-block")
Signed-off-by: Munehisa Kamata &lt;kamatam@amazon.com&gt;
Reviewed-by: Thomas Friebel &lt;friebelt@amazon.de&gt;
Reviewed-by: Eduardo Valentin &lt;eduval@amazon.com&gt;
Reviewed-by: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Cc: Juergen Gross &lt;jgross@suse.com&gt;
Cc: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Reviewed-by: Roger Pau Monne &lt;roger.pau@citrix.com&gt;
Cc: xen-devel@lists.xenproject.org
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'stable/for-jens-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus</title>
<updated>2017-06-20T13:09:27+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@kernel.dk</email>
</author>
<published>2017-06-20T13:09:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ec2f0fadde446e0ebe28c779ffcac655228b8f1e'/>
<id>ec2f0fadde446e0ebe28c779ffcac655228b8f1e</id>
<content type='text'>
Pull xen-blkback fixes from Konrad:

"Security and memory leak fixes in xen block driver."
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull xen-blkback fixes from Konrad:

"Security and memory leak fixes in xen block driver."
</pre>
</div>
</content>
</entry>
<entry>
<title>xen-blkback: don't leak stack data via response ring</title>
<updated>2017-06-13T20:28:32+00:00</updated>
<author>
<name>Jan Beulich</name>
<email>jbeulich@suse.com</email>
</author>
<published>2017-06-13T20:28:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=089bc0143f489bd3a4578bdff5f4ca68fb26f341'/>
<id>089bc0143f489bd3a4578bdff5f4ca68fb26f341</id>
<content type='text'>
Rather than constructing a local structure instance on the stack, fill
the fields directly on the shared ring, just like other backends do.
Build on the fact that all response structure flavors are actually
identical (the old code did make this assumption too).

This is XSA-216.

Cc: stable@vger.kernel.org

Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Reviewed-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rather than constructing a local structure instance on the stack, fill
the fields directly on the shared ring, just like other backends do.
Build on the fact that all response structure flavors are actually
identical (the old code did make this assumption too).

This is XSA-216.

Cc: stable@vger.kernel.org

Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Reviewed-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen/blkback: don't use xen_blkif_get() in xen-blkback kthread</title>
<updated>2017-06-13T20:27:39+00:00</updated>
<author>
<name>Juergen Gross</name>
<email>jgross@suse.com</email>
</author>
<published>2017-05-18T15:28:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a24fa22ce22ae302b3bf8f7008896d52d5d57b8d'/>
<id>a24fa22ce22ae302b3bf8f7008896d52d5d57b8d</id>
<content type='text'>
There is no need to use xen_blkif_get()/xen_blkif_put() in the kthread
of xen-blkback. Thread stopping is synchronous and using the blkif
reference counting in the kthread will avoid to ever let the reference
count drop to zero at the end of an I/O running concurrent to
disconnecting and multiple rings.

Setting ring-&gt;xenblkd to NULL after stopping the kthread isn't needed
as the kthread does this already.

Signed-off-by: Juergen Gross &lt;jgross@suse.com&gt;
Tested-by: Steven Haigh &lt;netwiz@crc.id.au&gt;
Acked-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is no need to use xen_blkif_get()/xen_blkif_put() in the kthread
of xen-blkback. Thread stopping is synchronous and using the blkif
reference counting in the kthread will avoid to ever let the reference
count drop to zero at the end of an I/O running concurrent to
disconnecting and multiple rings.

Setting ring-&gt;xenblkd to NULL after stopping the kthread isn't needed
as the kthread does this already.

Signed-off-by: Juergen Gross &lt;jgross@suse.com&gt;
Tested-by: Steven Haigh &lt;netwiz@crc.id.au&gt;
Acked-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen/blkback: don't free be structure too early</title>
<updated>2017-06-13T20:09:41+00:00</updated>
<author>
<name>Juergen Gross</name>
<email>jgross@suse.com</email>
</author>
<published>2017-05-18T15:28:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=71df1d7ccad1c36f7321d6b3b48f2ea42681c363'/>
<id>71df1d7ccad1c36f7321d6b3b48f2ea42681c363</id>
<content type='text'>
The be structure must not be freed when freeing the blkif structure
isn't done. Otherwise a use-after-free of be when unmapping the ring
used for communicating with the frontend will occur in case of a
late call of xenblk_disconnect() (e.g. due to an I/O still active
when trying to disconnect).

Signed-off-by: Juergen Gross &lt;jgross@suse.com&gt;
Tested-by: Steven Haigh &lt;netwiz@crc.id.au&gt;
Acked-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The be structure must not be freed when freeing the blkif structure
isn't done. Otherwise a use-after-free of be when unmapping the ring
used for communicating with the frontend will occur in case of a
late call of xenblk_disconnect() (e.g. due to an I/O still active
when trying to disconnect).

Signed-off-by: Juergen Gross &lt;jgross@suse.com&gt;
Tested-by: Steven Haigh &lt;netwiz@crc.id.au&gt;
Acked-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen/blkback: fix disconnect while I/Os in flight</title>
<updated>2017-06-13T20:04:18+00:00</updated>
<author>
<name>Juergen Gross</name>
<email>jgross@suse.com</email>
</author>
<published>2017-05-18T15:28:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=46464411307746e6297a034a9983a22c9dfc5a0c'/>
<id>46464411307746e6297a034a9983a22c9dfc5a0c</id>
<content type='text'>
Today disconnecting xen-blkback is broken in case there are still
I/Os in flight: xen_blkif_disconnect() will bail out early without
releasing all resources in the hope it will be called again when
the last request has terminated. This, however, won't happen as
xen_blkif_free() won't be called on termination of the last running
request: xen_blkif_put() won't decrement the blkif refcnt to 0 as
xen_blkif_disconnect() didn't finish before thus some xen_blkif_put()
calls in xen_blkif_disconnect() didn't happen.

To solve this deadlock xen_blkif_disconnect() and
xen_blkif_alloc_rings() shouldn't use xen_blkif_put() and
xen_blkif_get() but use some other way to do their accounting of
resources.

This at once fixes another error in xen_blkif_disconnect(): when it
returned early with -EBUSY for another ring than 0 it would call
xen_blkif_put() again for already handled rings on a subsequent call.
This will lead to inconsistencies in the refcnt handling.

Cc: stable@vger.kernel.org
Signed-off-by: Juergen Gross &lt;jgross@suse.com&gt;
Tested-by: Steven Haigh &lt;netwiz@crc.id.au&gt;
Acked-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Today disconnecting xen-blkback is broken in case there are still
I/Os in flight: xen_blkif_disconnect() will bail out early without
releasing all resources in the hope it will be called again when
the last request has terminated. This, however, won't happen as
xen_blkif_free() won't be called on termination of the last running
request: xen_blkif_put() won't decrement the blkif refcnt to 0 as
xen_blkif_disconnect() didn't finish before thus some xen_blkif_put()
calls in xen_blkif_disconnect() didn't happen.

To solve this deadlock xen_blkif_disconnect() and
xen_blkif_alloc_rings() shouldn't use xen_blkif_put() and
xen_blkif_get() but use some other way to do their accounting of
resources.

This at once fixes another error in xen_blkif_disconnect(): when it
returned early with -EBUSY for another ring than 0 it would call
xen_blkif_put() again for already handled rings on a subsequent call.
This will lead to inconsistencies in the refcnt handling.

Cc: stable@vger.kernel.org
Signed-off-by: Juergen Gross &lt;jgross@suse.com&gt;
Tested-by: Steven Haigh &lt;netwiz@crc.id.au&gt;
Acked-by: Roger Pau Monné &lt;roger.pau@citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix loop device flush before configure v3</title>
<updated>2017-06-08T14:04:18+00:00</updated>
<author>
<name>James Wang</name>
<email>jnwang@suse.com</email>
</author>
<published>2017-06-08T06:52:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6460495709aeb651896bc8e5c134b2e4ca7d34a8'/>
<id>6460495709aeb651896bc8e5c134b2e4ca7d34a8</id>
<content type='text'>
While installing SLES-12 (based on v4.4), I found that the installer
will stall for 60+ seconds during LVM disk scan.  The root cause was
determined to be the removal of a bound device check in loop_flush()
by commit b5dd2f6047ca ("block: loop: improve performance via blk-mq").

Restoring this check, examining -&gt;lo_state as set by loop_set_fd()
eliminates the bad behavior.

Test method:
modprobe loop max_loop=64
dd if=/dev/zero of=disk bs=512 count=200K
for((i=0;i&lt;4;i++))do losetup -f disk; done
mkfs.ext4 -F /dev/loop0
for((i=0;i&lt;4;i++))do mkdir t$i; mount /dev/loop$i t$i;done
for f in `ls /dev/loop[0-9]*|sort`; do \
	echo $f; dd if=$f of=/dev/null  bs=512 count=1; \
	done

Test output:  stock          patched
/dev/loop0    18.1217e-05    8.3842e-05
/dev/loop1     6.1114e-05    0.000147979
/dev/loop10    0.414701      0.000116564
/dev/loop11    0.7474        6.7942e-05
/dev/loop12    0.747986      8.9082e-05
/dev/loop13    0.746532      7.4799e-05
/dev/loop14    0.480041      9.3926e-05
/dev/loop15    1.26453       7.2522e-05

Note that from loop10 onward, the device is not mounted, yet the
stock kernel consumes several orders of magnitude more wall time
than it does for a mounted device.
(Thanks for Mike Galbraith &lt;efault@gmx.de&gt;, give a changelog review.)

Reviewed-by: Hannes Reinecke &lt;hare@suse.com&gt;
Reviewed-by: Ming Lei &lt;ming.lei@redhat.com&gt;
Signed-off-by: James Wang &lt;jnwang@suse.com&gt;
Fixes: b5dd2f6047ca ("block: loop: improve performance via blk-mq")
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While installing SLES-12 (based on v4.4), I found that the installer
will stall for 60+ seconds during LVM disk scan.  The root cause was
determined to be the removal of a bound device check in loop_flush()
by commit b5dd2f6047ca ("block: loop: improve performance via blk-mq").

Restoring this check, examining -&gt;lo_state as set by loop_set_fd()
eliminates the bad behavior.

Test method:
modprobe loop max_loop=64
dd if=/dev/zero of=disk bs=512 count=200K
for((i=0;i&lt;4;i++))do losetup -f disk; done
mkfs.ext4 -F /dev/loop0
for((i=0;i&lt;4;i++))do mkdir t$i; mount /dev/loop$i t$i;done
for f in `ls /dev/loop[0-9]*|sort`; do \
	echo $f; dd if=$f of=/dev/null  bs=512 count=1; \
	done

Test output:  stock          patched
/dev/loop0    18.1217e-05    8.3842e-05
/dev/loop1     6.1114e-05    0.000147979
/dev/loop10    0.414701      0.000116564
/dev/loop11    0.7474        6.7942e-05
/dev/loop12    0.747986      8.9082e-05
/dev/loop13    0.746532      7.4799e-05
/dev/loop14    0.480041      9.3926e-05
/dev/loop15    1.26453       7.2522e-05

Note that from loop10 onward, the device is not mounted, yet the
stock kernel consumes several orders of magnitude more wall time
than it does for a mounted device.
(Thanks for Mike Galbraith &lt;efault@gmx.de&gt;, give a changelog review.)

Reviewed-by: Hannes Reinecke &lt;hare@suse.com&gt;
Reviewed-by: Ming Lei &lt;ming.lei@redhat.com&gt;
Signed-off-by: James Wang &lt;jnwang@suse.com&gt;
Fixes: b5dd2f6047ca ("block: loop: improve performance via blk-mq")
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'ceph-for-4.12-rc4' of git://github.com/ceph/ceph-client</title>
<updated>2017-06-02T19:03:07+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2017-06-02T19:03:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=65d03328aace31043be98f807f6e20332cdb19c8'/>
<id>65d03328aace31043be98f807f6e20332cdb19c8</id>
<content type='text'>
Pull ceph fix from Ilya Dryomov:
 "A small fix for rbd FALLOC_FL_ZERO_RANGE/PUNCH_HOLE handling breakage
  introduced in -rc1"

* tag 'ceph-for-4.12-rc4' of git://github.com/ceph/ceph-client:
  rbd: implement REQ_OP_WRITE_ZEROES
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull ceph fix from Ilya Dryomov:
 "A small fix for rbd FALLOC_FL_ZERO_RANGE/PUNCH_HOLE handling breakage
  introduced in -rc1"

* tag 'ceph-for-4.12-rc4' of git://github.com/ceph/ceph-client:
  rbd: implement REQ_OP_WRITE_ZEROES
</pre>
</div>
</content>
</entry>
<entry>
<title>nbd: don't leak nbd_config</title>
<updated>2017-05-30T14:15:08+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-05-23T15:49:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=fa9765323a93473d3853d04c9903958453c92ad4'/>
<id>fa9765323a93473d3853d04c9903958453c92ad4</id>
<content type='text'>
nbd_config is allocated in nbd_alloc_config(), but never freed.

Fixes: 5ea8d10802ec ("nbd: separate out the config information")
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Reviewed-by: Josef Bacik &lt;jbacik@fb.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nbd_config is allocated in nbd_alloc_config(), but never freed.

Fixes: 5ea8d10802ec ("nbd: separate out the config information")
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Reviewed-by: Josef Bacik &lt;jbacik@fb.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nbd: nbd_reset() call in nbd_dev_add() is redundant</title>
<updated>2017-05-30T14:15:07+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-05-23T15:49:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=af622b86665881ffa96bc77fb89c94fae02cfa6b'/>
<id>af622b86665881ffa96bc77fb89c94fae02cfa6b</id>
<content type='text'>
There is nothing to clear -- nbd_device has just been allocated.
Fold nbd_reset() into its other caller, nbd_config_put().

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Reviewed-by: Josef Bacik &lt;jbacik@fb.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is nothing to clear -- nbd_device has just been allocated.
Fold nbd_reset() into its other caller, nbd_config_put().

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Reviewed-by: Josef Bacik &lt;jbacik@fb.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
