diff --git a/vfio_user/src/lib.rs b/vfio_user/src/lib.rs index 3c0779099..5093902ff 100644 --- a/vfio_user/src/lib.rs +++ b/vfio_user/src/lib.rs @@ -272,6 +272,8 @@ pub enum Error { SocketAccept(#[source] std::io::Error), #[error("Unsupported command: {0:?}")] UnsupportedCommand(Command), + #[error("Unsupported feature")] + UnsupportedFeature, #[error("Error from backend: {0:?}")] Backend(#[source] std::io::Error), } @@ -1084,6 +1086,10 @@ impl Server { .read_exact(&mut cmd.as_mut_slice()[size_of::
()..]) .map_err(Error::StreamRead)?; + if cmd.flags & VFIO_IRQ_SET_DATA_BOOL > 0 { + return Err(Error::UnsupportedFeature); + } + backend .set_irqs(cmd.index, cmd.flags, cmd.start, cmd.count, fds) .map_err(Error::Backend)?;