@@ -152,6 +152,7 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, struct genl_info *info)
152
152
struct mptcp_pm_addr_entry addr_val ;
153
153
struct mptcp_sock * msk ;
154
154
int err = - EINVAL ;
155
+ struct sock * sk ;
155
156
u32 token_val ;
156
157
157
158
if (!addr || !token ) {
@@ -167,6 +168,8 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, struct genl_info *info)
167
168
return err ;
168
169
}
169
170
171
+ sk = (struct sock * )msk ;
172
+
170
173
if (!mptcp_pm_is_userspace (msk )) {
171
174
GENL_SET_ERR_MSG (info , "invalid request; userspace PM not selected" );
172
175
goto announce_err ;
@@ -190,7 +193,7 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, struct genl_info *info)
190
193
goto announce_err ;
191
194
}
192
195
193
- lock_sock (( struct sock * ) msk );
196
+ lock_sock (sk );
194
197
spin_lock_bh (& msk -> pm .lock );
195
198
196
199
if (mptcp_pm_alloc_anno_list (msk , & addr_val .addr )) {
@@ -200,11 +203,11 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, struct genl_info *info)
200
203
}
201
204
202
205
spin_unlock_bh (& msk -> pm .lock );
203
- release_sock (( struct sock * ) msk );
206
+ release_sock (sk );
204
207
205
208
err = 0 ;
206
209
announce_err :
207
- sock_put (( struct sock * ) msk );
210
+ sock_put (sk );
208
211
return err ;
209
212
}
210
213
@@ -251,6 +254,7 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struct genl_info *info)
251
254
struct mptcp_sock * msk ;
252
255
LIST_HEAD (free_list );
253
256
int err = - EINVAL ;
257
+ struct sock * sk ;
254
258
u32 token_val ;
255
259
u8 id_val ;
256
260
@@ -268,6 +272,8 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struct genl_info *info)
268
272
return err ;
269
273
}
270
274
275
+ sk = (struct sock * )msk ;
276
+
271
277
if (!mptcp_pm_is_userspace (msk )) {
272
278
GENL_SET_ERR_MSG (info , "invalid request; userspace PM not selected" );
273
279
goto remove_err ;
@@ -278,7 +284,7 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struct genl_info *info)
278
284
goto remove_err ;
279
285
}
280
286
281
- lock_sock (( struct sock * ) msk );
287
+ lock_sock (sk );
282
288
283
289
list_for_each_entry (entry , & msk -> pm .userspace_pm_local_addr_list , list ) {
284
290
if (entry -> addr .id == id_val ) {
@@ -289,23 +295,23 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struct genl_info *info)
289
295
290
296
if (!match ) {
291
297
GENL_SET_ERR_MSG (info , "address with specified id not found" );
292
- release_sock (( struct sock * ) msk );
298
+ release_sock (sk );
293
299
goto remove_err ;
294
300
}
295
301
296
302
list_move (& match -> list , & free_list );
297
303
298
304
mptcp_pm_remove_addrs (msk , & free_list );
299
305
300
- release_sock (( struct sock * ) msk );
306
+ release_sock (sk );
301
307
302
308
list_for_each_entry_safe (match , entry , & free_list , list ) {
303
- sock_kfree_s (( struct sock * ) msk , match , sizeof (* match ));
309
+ sock_kfree_s (sk , match , sizeof (* match ));
304
310
}
305
311
306
312
err = 0 ;
307
313
remove_err :
308
- sock_put (( struct sock * ) msk );
314
+ sock_put (sk );
309
315
return err ;
310
316
}
311
317
@@ -518,6 +524,7 @@ int mptcp_userspace_pm_set_flags(struct net *net, struct nlattr *token,
518
524
{
519
525
struct mptcp_sock * msk ;
520
526
int ret = - EINVAL ;
527
+ struct sock * sk ;
521
528
u32 token_val ;
522
529
523
530
token_val = nla_get_u32 (token );
@@ -526,18 +533,20 @@ int mptcp_userspace_pm_set_flags(struct net *net, struct nlattr *token,
526
533
if (!msk )
527
534
return ret ;
528
535
536
+ sk = (struct sock * )msk ;
537
+
529
538
if (!mptcp_pm_is_userspace (msk ))
530
539
goto set_flags_err ;
531
540
532
541
if (loc -> addr .family == AF_UNSPEC ||
533
542
rem -> addr .family == AF_UNSPEC )
534
543
goto set_flags_err ;
535
544
536
- lock_sock (( struct sock * ) msk );
545
+ lock_sock (sk );
537
546
ret = mptcp_pm_nl_mp_prio_send_ack (msk , & loc -> addr , & rem -> addr , bkup );
538
- release_sock (( struct sock * ) msk );
547
+ release_sock (sk );
539
548
540
549
set_flags_err :
541
- sock_put (( struct sock * ) msk );
550
+ sock_put (sk );
542
551
return ret ;
543
552
}
0 commit comments