Revision ce85cfbed6fe3dbc01bd1976b23ac3e97878cde6 authored by Benjamin Coddington on 21 April 2015, 18:17:35 UTC, committed by Trond Myklebust on 23 April 2015, 19:16:15 UTC
If a READDIR reply comes back without any page data, avoid a NULL pointer
dereference in xdr_copy_to_scratch().

BUG: unable to handle kernel NULL pointer dereference at 0000000000000001
IP: [<ffffffff813a378d>] memcpy+0xd/0x110
...
Call Trace:
	? xdr_inline_decode+0x7a/0xb0 [sunrpc]
	nfs3_decode_dirent+0x73/0x320 [nfsv3]
	nfs_readdir_page_filler+0xd5/0x4e0 [nfs]
	? nfs3_rpc_wrapper.constprop.9+0x42/0xc0 [nfsv3]
	nfs_readdir_xdr_to_array+0x1fa/0x330 [nfs]
	? mem_cgroup_commit_charge+0xac/0x160
	? nfs_readdir_xdr_to_array+0x330/0x330 [nfs]
	nfs_readdir_filler+0x22/0x90 [nfs]
	do_read_cache_page+0x7e/0x1a0
	read_cache_page+0x1c/0x20
	nfs_readdir+0x18e/0x660 [nfs]
	? nfs3_xdr_dec_getattr3res+0x80/0x80 [nfsv3]
	iterate_dir+0x97/0x130
	SyS_getdents+0x94/0x120
	? fillonedir+0xd0/0xd0
	system_call_fastpath+0x12/0x17

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
1 parent 3708f84
History
File Mode Size
netfilter
Kconfig -rw-r--r-- 23.0 KB
Makefile -rw-r--r-- 2.5 KB
af_inet.c -rw-r--r-- 44.3 KB
ah4.c -rw-r--r-- 13.5 KB
arp.c -rw-r--r-- 35.5 KB
cipso_ipv4.c -rw-r--r-- 62.9 KB
datagram.c -rw-r--r-- 3.0 KB
devinet.c -rw-r--r-- 57.8 KB
esp4.c -rw-r--r-- 16.4 KB
fib_frontend.c -rw-r--r-- 27.3 KB
fib_lookup.h -rw-r--r-- 1.3 KB
fib_rules.c -rw-r--r-- 8.0 KB
fib_semantics.c -rw-r--r-- 30.9 KB
fib_trie.c -rw-r--r-- 59.7 KB
fou.c -rw-r--r-- 17.9 KB
geneve.c -rw-r--r-- 10.2 KB
gre_demux.c -rw-r--r-- 8.3 KB
gre_offload.c -rw-r--r-- 6.2 KB
icmp.c -rw-r--r-- 28.6 KB
igmp.c -rw-r--r-- 65.5 KB
inet_connection_sock.c -rw-r--r-- 25.9 KB
inet_diag.c -rw-r--r-- 28.2 KB
inet_fragment.c -rw-r--r-- 10.9 KB
inet_hashtables.c -rw-r--r-- 15.6 KB
inet_lro.c -rw-r--r-- 9.3 KB
inet_timewait_sock.c -rw-r--r-- 14.5 KB
inetpeer.c -rw-r--r-- 16.2 KB
ip_forward.c -rw-r--r-- 3.8 KB
ip_fragment.c -rw-r--r-- 20.2 KB
ip_gre.c -rw-r--r-- 24.3 KB
ip_input.c -rw-r--r-- 13.4 KB
ip_options.c -rw-r--r-- 15.3 KB
ip_output.c -rw-r--r-- 38.8 KB
ip_sockglue.c -rw-r--r-- 33.3 KB
ip_tunnel.c -rw-r--r-- 27.1 KB
ip_tunnel_core.c -rw-r--r-- 5.3 KB
ip_vti.c -rw-r--r-- 13.8 KB
ipcomp.c -rw-r--r-- 4.7 KB
ipconfig.c -rw-r--r-- 39.1 KB
ipip.c -rw-r--r-- 15.1 KB
ipmr.c -rw-r--r-- 63.8 KB
netfilter.c -rw-r--r-- 5.3 KB
ping.c -rw-r--r-- 28.9 KB
proc.c -rw-r--r-- 20.0 KB
protocol.c -rw-r--r-- 2.3 KB
raw.c -rw-r--r-- 25.4 KB
route.c -rw-r--r-- 67.2 KB
syncookies.c -rw-r--r-- 11.3 KB
sysctl_net_ipv4.c -rw-r--r-- 22.5 KB
tcp.c -rw-r--r-- 80.1 KB
tcp_bic.c -rw-r--r-- 6.2 KB
tcp_cong.c -rw-r--r-- 10.5 KB
tcp_cubic.c -rw-r--r-- 14.1 KB
tcp_dctcp.c -rw-r--r-- 9.2 KB
tcp_diag.c -rw-r--r-- 1.8 KB
tcp_fastopen.c -rw-r--r-- 9.1 KB
tcp_highspeed.c -rw-r--r-- 4.9 KB
tcp_htcp.c -rw-r--r-- 7.4 KB
tcp_hybla.c -rw-r--r-- 4.9 KB
tcp_illinois.c -rw-r--r-- 8.1 KB
tcp_input.c -rw-r--r-- 171.3 KB
tcp_ipv4.c -rw-r--r-- 63.1 KB
tcp_lp.c -rw-r--r-- 8.7 KB
tcp_memcontrol.c -rw-r--r-- 5.5 KB
tcp_metrics.c -rw-r--r-- 30.4 KB
tcp_minisocks.c -rw-r--r-- 26.1 KB
tcp_offload.c -rw-r--r-- 7.6 KB
tcp_output.c -rw-r--r-- 98.0 KB
tcp_probe.c -rw-r--r-- 7.4 KB
tcp_scalable.c -rw-r--r-- 1.4 KB
tcp_timer.c -rw-r--r-- 18.5 KB
tcp_vegas.c -rw-r--r-- 9.6 KB
tcp_vegas.h -rw-r--r-- 867 bytes
tcp_veno.c -rw-r--r-- 5.6 KB
tcp_westwood.c -rw-r--r-- 8.1 KB
tcp_yeah.c -rw-r--r-- 6.9 KB
tunnel4.c -rw-r--r-- 4.1 KB
udp.c -rw-r--r-- 63.7 KB
udp_diag.c -rw-r--r-- 5.4 KB
udp_impl.h -rw-r--r-- 1.2 KB
udp_offload.c -rw-r--r-- 11.1 KB
udp_tunnel.c -rw-r--r-- 2.5 KB
udplite.c -rw-r--r-- 3.4 KB
xfrm4_input.c -rw-r--r-- 3.9 KB
xfrm4_mode_beet.c -rw-r--r-- 3.7 KB
xfrm4_mode_transport.c -rw-r--r-- 2.1 KB
xfrm4_mode_tunnel.c -rw-r--r-- 2.9 KB
xfrm4_output.c -rw-r--r-- 2.4 KB
xfrm4_policy.c -rw-r--r-- 7.4 KB
xfrm4_protocol.c -rw-r--r-- 6.7 KB
xfrm4_state.c -rw-r--r-- 2.4 KB
xfrm4_tunnel.c -rw-r--r-- 2.7 KB

back to top