From: Benjamin Kaduk Date: Mon, 7 Nov 2016 05:29:22 +0000 (-0600) Subject: afs: do not leak stale data in buffers X-Git-Tag: openafs-stable-1_8_0pre1~11 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=a26c5054ee501ec65db3104f6a6a0fef634d9ea7 afs: do not leak stale data in buffers Similar to the previous commit, zero out the buffer when fetching a new slot, to avoid the possibility of leaving stale data in a reused buffer. We are not supposed to write such stale data back to a fileserver, but this is an extra precaution in case of bugs elsewhere -- memset is not as expensive as it was in the 1980s. Change-Id: I344e772e9ec3d909e8b578933dd9c6c66f0a8cf6 Reviewed-on: https://gerrit.openafs.org/12459 Reviewed-by: Mark Vitale Tested-by: Mark Vitale Reviewed-by: Michael Meffie Reviewed-by: Benjamin Kaduk --- diff --git a/src/afs/afs_buffer.c b/src/afs/afs_buffer.c index 4399473..2220ae3 100644 --- a/src/afs/afs_buffer.c +++ b/src/afs/afs_buffer.c @@ -379,6 +379,8 @@ afs_newslot(struct dcache *adc, afs_int32 apage, struct buffer *lp) AFS_STATS(afs_stats_cmperf.bufFlushDirty++); } + /* Zero out the data so we don't leak something we shouldn't. */ + memset(lp->data, 0, AFS_BUFFER_PAGESIZE); /* Now fill in the header. */ lp->fid = adc->index; afs_copy_inode(&lp->inode, &adc->f.inode);