Chuck Lever 10c22d9519 NFSD: Fix exposure in nfsd4_decode_bitmap()
[ Upstream commit c0019b7db1d7ac62c711cda6b357a659d46428fe ]

rtm@csail.mit.edu reports:
> nfsd4_decode_bitmap4() will write beyond bmval[bmlen-1] if the RPC
> directs it to do so. This can cause nfsd4_decode_state_protect4_a()
> to write client-supplied data beyond the end of
> nfsd4_exchange_id.spo_must_allow[] when called by
> nfsd4_decode_exchange_id().

Rewrite the loops so nfsd4_decode_bitmap() cannot iterate beyond
@bmlen.

Reported by: rtm@csail.mit.edu
Fixes: d1c263a031e8 ("NFSD: Replace READ* macros in nfsd4_decode_fattr()")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-11-25 09:48:35 +01:00
..
2021-10-07 11:20:08 -07:00
2021-08-19 09:02:55 +09:00
2021-04-12 15:04:29 +02:00
2021-09-02 12:32:12 -07:00
2021-11-18 19:15:56 +01:00
2021-11-18 19:16:19 +01:00
2021-08-26 22:28:02 +02:00
2021-11-18 19:16:48 +01:00
2021-09-22 09:21:02 -07:00
2021-09-10 09:46:48 -07:00
2021-06-30 12:21:16 -07:00
2021-06-29 10:53:48 -07:00
2021-09-03 15:33:47 -07:00
2021-08-16 10:50:32 -06:00
2021-08-19 09:02:55 +09:00
2021-09-09 11:39:57 -07:00
\n
2021-08-30 10:24:50 -07:00
2021-08-31 11:13:35 -07:00
2021-09-09 13:25:49 -07:00
2021-09-11 14:48:42 -07:00
2021-08-31 11:06:32 -07:00
2021-06-29 10:53:48 -07:00
2021-08-18 22:08:24 +02:00
2021-08-10 17:57:22 +02:00