Commit f4e3634
ubifs: Fix races between xattr_{set|get} and listxattr operations
UBIFS may occur some problems with concurrent xattr_{set|get} and
listxattr operations, such as assertion failure, memory corruption,
stale xattr value[1].
Fix it by importing a new rw-lock in @ubifs_inode to serilize write
operations on xattr, concurrent read operations are still effective,
just like ext4.
[1] https://lore.kernel.org/linux-mtd/20200630130438.141649-1-houtao1@huawei.com
Fixes: 1e51764 ("UBIFS: add new flash file system")
Cc: stable@vger.kernel.org # v2.6+
Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Richard Weinberger <richard@nod.at>1 parent be076fd commit f4e3634
3 files changed
Lines changed: 36 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
275 | 275 | | |
276 | 276 | | |
277 | 277 | | |
| 278 | + | |
278 | 279 | | |
279 | 280 | | |
280 | 281 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
356 | 356 | | |
357 | 357 | | |
358 | 358 | | |
| 359 | + | |
359 | 360 | | |
360 | 361 | | |
361 | 362 | | |
| |||
409 | 410 | | |
410 | 411 | | |
411 | 412 | | |
| 413 | + | |
412 | 414 | | |
413 | 415 | | |
414 | 416 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
285 | 285 | | |
286 | 286 | | |
287 | 287 | | |
| 288 | + | |
288 | 289 | | |
289 | 290 | | |
290 | 291 | | |
| |||
319 | 320 | | |
320 | 321 | | |
321 | 322 | | |
| 323 | + | |
322 | 324 | | |
323 | 325 | | |
324 | 326 | | |
| |||
341 | 343 | | |
342 | 344 | | |
343 | 345 | | |
| 346 | + | |
344 | 347 | | |
345 | 348 | | |
346 | 349 | | |
347 | 350 | | |
348 | 351 | | |
349 | | - | |
| 352 | + | |
350 | 353 | | |
351 | 354 | | |
352 | 355 | | |
353 | 356 | | |
354 | 357 | | |
355 | | - | |
| 358 | + | |
356 | 359 | | |
357 | 360 | | |
358 | 361 | | |
| |||
374 | 377 | | |
375 | 378 | | |
376 | 379 | | |
377 | | - | |
| 380 | + | |
| 381 | + | |
378 | 382 | | |
379 | 383 | | |
380 | 384 | | |
| |||
406 | 410 | | |
407 | 411 | | |
408 | 412 | | |
| 413 | + | |
409 | 414 | | |
410 | | - | |
| 415 | + | |
411 | 416 | | |
412 | 417 | | |
413 | 418 | | |
414 | 419 | | |
415 | | - | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
416 | 423 | | |
417 | | - | |
418 | | - | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
419 | 428 | | |
420 | 429 | | |
421 | 430 | | |
| |||
437 | 446 | | |
438 | 447 | | |
439 | 448 | | |
440 | | - | |
441 | 449 | | |
| 450 | + | |
| 451 | + | |
442 | 452 | | |
443 | 453 | | |
444 | 454 | | |
445 | 455 | | |
446 | 456 | | |
447 | 457 | | |
448 | 458 | | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
449 | 463 | | |
450 | 464 | | |
451 | 465 | | |
| |||
504 | 518 | | |
505 | 519 | | |
506 | 520 | | |
| 521 | + | |
507 | 522 | | |
508 | 523 | | |
509 | 524 | | |
| |||
523 | 538 | | |
524 | 539 | | |
525 | 540 | | |
526 | | - | |
| 541 | + | |
527 | 542 | | |
528 | 543 | | |
529 | 544 | | |
| |||
535 | 550 | | |
536 | 551 | | |
537 | 552 | | |
538 | | - | |
| 553 | + | |
539 | 554 | | |
540 | 555 | | |
541 | 556 | | |
| |||
544 | 559 | | |
545 | 560 | | |
546 | 561 | | |
547 | | - | |
548 | 562 | | |
| 563 | + | |
| 564 | + | |
549 | 565 | | |
550 | 566 | | |
551 | 567 | | |
552 | 568 | | |
553 | 569 | | |
554 | 570 | | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
555 | 575 | | |
556 | 576 | | |
557 | 577 | | |
| |||
594 | 614 | | |
595 | 615 | | |
596 | 616 | | |
| 617 | + | |
597 | 618 | | |
598 | 619 | | |
599 | 620 | | |
| |||
618 | 639 | | |
619 | 640 | | |
620 | 641 | | |
| 642 | + | |
621 | 643 | | |
622 | 644 | | |
623 | 645 | | |
| |||
0 commit comments