@@ -9175,28 +9175,22 @@ static void smb20_oplock_break_ack(struct ksmbd_work *work)
9175
9175
goto err_out ;
9176
9176
}
9177
9177
9178
- opinfo -> op_state = OPLOCK_STATE_NONE ;
9179
- wake_up_interruptible_all (& opinfo -> oplock_q );
9180
- opinfo_put (opinfo );
9181
- ksmbd_fd_put (work , fp );
9182
-
9183
9178
rsp -> StructureSize = cpu_to_le16 (24 );
9184
9179
rsp -> OplockLevel = rsp_oplevel ;
9185
9180
rsp -> Reserved = 0 ;
9186
9181
rsp -> Reserved2 = 0 ;
9187
9182
rsp -> VolatileFid = volatile_id ;
9188
9183
rsp -> PersistentFid = persistent_id ;
9189
9184
ret = ksmbd_iov_pin_rsp (work , rsp , sizeof (struct smb2_oplock_break ));
9190
- if (!ret )
9191
- return ;
9192
-
9185
+ if (ret ) {
9193
9186
err_out :
9187
+ smb2_set_err_rsp (work );
9188
+ }
9189
+
9194
9190
opinfo -> op_state = OPLOCK_STATE_NONE ;
9195
9191
wake_up_interruptible_all (& opinfo -> oplock_q );
9196
-
9197
9192
opinfo_put (opinfo );
9198
9193
ksmbd_fd_put (work , fp );
9199
- smb2_set_err_rsp (work );
9200
9194
}
9201
9195
9202
9196
static int check_lease_state (struct lease * lease , __le32 req_state )
@@ -9326,11 +9320,6 @@ static void smb21_lease_break_ack(struct ksmbd_work *work)
9326
9320
}
9327
9321
9328
9322
lease_state = lease -> state ;
9329
- opinfo -> op_state = OPLOCK_STATE_NONE ;
9330
- wake_up_interruptible_all (& opinfo -> oplock_q );
9331
- atomic_dec (& opinfo -> breaking_cnt );
9332
- wake_up_interruptible_all (& opinfo -> oplock_brk );
9333
- opinfo_put (opinfo );
9334
9323
9335
9324
rsp -> StructureSize = cpu_to_le16 (36 );
9336
9325
rsp -> Reserved = 0 ;
@@ -9339,16 +9328,16 @@ static void smb21_lease_break_ack(struct ksmbd_work *work)
9339
9328
rsp -> LeaseState = lease_state ;
9340
9329
rsp -> LeaseDuration = 0 ;
9341
9330
ret = ksmbd_iov_pin_rsp (work , rsp , sizeof (struct smb2_lease_ack ));
9342
- if (!ret )
9343
- return ;
9344
-
9331
+ if (ret ) {
9345
9332
err_out :
9333
+ smb2_set_err_rsp (work );
9334
+ }
9335
+
9336
+ opinfo -> op_state = OPLOCK_STATE_NONE ;
9346
9337
wake_up_interruptible_all (& opinfo -> oplock_q );
9347
9338
atomic_dec (& opinfo -> breaking_cnt );
9348
9339
wake_up_interruptible_all (& opinfo -> oplock_brk );
9349
-
9350
9340
opinfo_put (opinfo );
9351
- smb2_set_err_rsp (work );
9352
9341
}
9353
9342
9354
9343
/**
0 commit comments