Ack: [PATCH Lucid SRU] 9p: Fix the kernel crash on a failed mount

Brad Figg brad.figg at canonical.com
Tue Oct 2 19:39:09 UTC 2012


On 10/02/2012 12:22 PM, Tim Gardner wrote:
> From: "Aneesh Kumar K.V" <aneesh.kumar at 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 at linux.vnet.ibm.com>
> Signed-off-by: Eric Van Hensbergen <ericvh at gmail.com>
> (cherry picked from commit fb786100f7c75e154e63d0f5a2982e6d46dfb602)
> 
> Signed-off-by: Tim Gardner <tim.gardner at 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 at canonical.com http://www.canonical.com




More information about the kernel-team mailing list