The 49ers originally acquired Willis in a trade with the Jets on Oct. 27. He appeared in seven games and made 13 tackles and 2.5 sacks last season with San Francisco.
Willis entered the NFL as a third-round choice of the Bengals in 2017.
He has played games with the Bengals (2017-19), Jets (2019-20) and 49ers. Willis has appeared in 50 games with two starts and has totaled 63 tackles, 5.5 sacks, two fumble recoveries, one forced fumble and one pass defensed.