Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Ubuntu Kernel Team (http://www.linux-archive.org/ubuntu-kernel-team/)
-   -   Ack: 9p: Fix the kernel crash on a failed mount (http://www.linux-archive.org/ubuntu-kernel-team/709128-ack-9p-fix-kernel-crash-failed-mount.html)

Brad Figg 10-02-2012 07:39 PM

Ack: 9p: Fix the kernel crash on a failed mount
 
On 10/02/2012 12:22 PM, Tim Gardner wrote:
> From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
>
> BugLink: http://bugs.launchpad.net/bugs/676823
>
> The patch fix the crash repoted below
>
> [ 15.149907] BUG: unable to handle kernel NULL pointer dereference at 00000001
> [ 15.150806] IP: [<c140b886>] p9_virtio_close+0x18/0x24
> .....
> ....
> [ 15.150806] Call Trace:
> [ 15.150806] [<c1408e78>] ? p9_client_destroy+0x3f/0x163
> [ 15.150806] [<c1409342>] ? p9_client_create+0x25f/0x270
> [ 15.150806] [<c1063b72>] ? trace_hardirqs_on+0xb/0xd
> [ 15.150806] [<c11ed4e8>] ? match_token+0x64/0x164
> [ 15.150806] [<c1175e8d>] ? v9fs_session_init+0x2f1/0x3c8
> [ 15.150806] [<c109cfc9>] ? kmem_cache_alloc+0x98/0xb8
> [ 15.150806] [<c1063b72>] ? trace_hardirqs_on+0xb/0xd
> [ 15.150806] [<c1173dd1>] ? v9fs_get_sb+0x47/0x1e8
> [ 15.150806] [<c1173dea>] ? v9fs_get_sb+0x60/0x1e8
> [ 15.150806] [<c10a2e77>] ? vfs_kern_mount+0x81/0x11a
> [ 15.150806] [<c10a2f55>] ? do_kern_mount+0x33/0xbe
> [ 15.150806] [<c10b40b9>] ? do_mount+0x654/0x6b3
> [ 15.150806] [<c1038949>] ? do_page_fault+0x0/0x284
> [ 15.150806] [<c10b28ec>] ? copy_mount_options+0x73/0xd2
> [ 15.150806] [<c10b4179>] ? sys_mount+0x61/0x94
> [ 15.150806] [<c14284e9>] ? syscall_call+0x7/0xb
> ....
> [ 15.203562] ---[ end trace 1dd159357709eb4b ]---
> [
>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
> Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
> (cherry picked from commit fb786100f7c75e154e63d0f5a2982e6d46dfb602)
>
> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
> ---
> net/9p/trans_virtio.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
> index 67c4bc7..cb50f4a 100644
> --- a/net/9p/trans_virtio.c
> +++ b/net/9p/trans_virtio.c
> @@ -102,7 +102,8 @@ static void p9_virtio_close(struct p9_client *client)
> struct virtio_chan *chan = client->trans;
>
> mutex_lock(&virtio_9p_lock);
> - chan->inuse = false;
> + if (chan)
> + chan->inuse = false;
> mutex_unlock(&virtio_9p_lock);
> }
>
>


--
Brad Figg brad.figg@canonical.com http://www.canonical.com

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team

Colin Ian King 10-03-2012 10:28 AM

ACK: 9p: Fix the kernel crash on a failed mount
 
On 02/10/12 20:22, Tim Gardner wrote:

From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>

BugLink: http://bugs.launchpad.net/bugs/676823

The patch fix the crash repoted below

[ 15.149907] BUG: unable to handle kernel NULL pointer dereference at 00000001
[ 15.150806] IP: [<c140b886>] p9_virtio_close+0x18/0x24
.....
....
[ 15.150806] Call Trace:
[ 15.150806] [<c1408e78>] ? p9_client_destroy+0x3f/0x163
[ 15.150806] [<c1409342>] ? p9_client_create+0x25f/0x270
[ 15.150806] [<c1063b72>] ? trace_hardirqs_on+0xb/0xd
[ 15.150806] [<c11ed4e8>] ? match_token+0x64/0x164
[ 15.150806] [<c1175e8d>] ? v9fs_session_init+0x2f1/0x3c8
[ 15.150806] [<c109cfc9>] ? kmem_cache_alloc+0x98/0xb8
[ 15.150806] [<c1063b72>] ? trace_hardirqs_on+0xb/0xd
[ 15.150806] [<c1173dd1>] ? v9fs_get_sb+0x47/0x1e8
[ 15.150806] [<c1173dea>] ? v9fs_get_sb+0x60/0x1e8
[ 15.150806] [<c10a2e77>] ? vfs_kern_mount+0x81/0x11a
[ 15.150806] [<c10a2f55>] ? do_kern_mount+0x33/0xbe
[ 15.150806] [<c10b40b9>] ? do_mount+0x654/0x6b3
[ 15.150806] [<c1038949>] ? do_page_fault+0x0/0x284
[ 15.150806] [<c10b28ec>] ? copy_mount_options+0x73/0xd2
[ 15.150806] [<c10b4179>] ? sys_mount+0x61/0x94
[ 15.150806] [<c14284e9>] ? syscall_call+0x7/0xb
....
[ 15.203562] ---[ end trace 1dd159357709eb4b ]---
[

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
(cherry picked from commit fb786100f7c75e154e63d0f5a2982e6d46dfb602)

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
---
net/9p/trans_virtio.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
index 67c4bc7..cb50f4a 100644
--- a/net/9p/trans_virtio.c
+++ b/net/9p/trans_virtio.c
@@ -102,7 +102,8 @@ static void p9_virtio_close(struct p9_client *client)
struct virtio_chan *chan = client->trans;

mutex_lock(&virtio_9p_lock);
- chan->inuse = false;
+ if (chan)
+ chan->inuse = false;
mutex_unlock(&virtio_9p_lock);
}



Acked-by: Colin Ian King <colin.king@canonical.com>


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team


All times are GMT. The time now is 11:58 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.