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
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 |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...