Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge pull request #1 from torvalds/master #377

Closed
wants to merge 1 commit into from
Closed

Merge pull request #1 from torvalds/master #377

wants to merge 1 commit into from

Conversation

Zaryob
Copy link

@Zaryob Zaryob commented Jan 11, 2017

make changes

@Zaryob Zaryob closed this Jan 11, 2017
@Zaryob Zaryob reopened this Jan 11, 2017
@Zaryob Zaryob closed this Jan 11, 2017
krzk pushed a commit to krzk/linux that referenced this pull request May 15, 2017
It must be safe to move these calls outside tree_lock:

Will hopefully fix the lockdep splat:

[ 3587.997451] =================================
[ 3587.997453] [ INFO: inconsistent lock state ]
[ 3587.997456] 4.5.0-rc2-next-20160203-dbg-00007-g37a0a9d-dirty torvalds#377 Not tainted
[ 3587.997457] ---------------------------------
[ 3587.997459] inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage.
[ 3587.997462] cc1plus/22766 [HC0[0]:SC0[0]:HE1:SE1] takes:
[ 3587.997464]  (&(&mapping->tree_lock)->rlock){+.?...}, at: [<ffffffff8113aaee>] migrate_page_move_mapping+0xbd/0x33f
[ 3587.997474] {IN-SOFTIRQ-W} state was registered at:
[ 3587.997476]   [<ffffffff81082515>] __lock_acquire+0x973/0x18fc
[ 3587.997481]   [<ffffffff81083c77>] lock_acquire+0x10d/0x1a8
[ 3587.997484]   [<ffffffff813c3486>] _raw_spin_lock_irqsave+0x3d/0x51
[ 3587.997489]   [<ffffffff81100552>] test_clear_page_writeback+0x75/0x1b4
[ 3587.997493]   [<ffffffff810f53cb>] end_page_writeback+0x29/0x4a
[ 3587.997497]   [<ffffffff8117ffd5>] end_buffer_async_write+0xfb/0x176
[ 3587.997501]   [<ffffffff8117fb53>] end_bio_bh_io_sync+0x2c/0x37
[ 3587.997503]   [<ffffffff811d0a43>] bio_endio+0x53/0x5b
[ 3587.997508]   [<ffffffff811d8548>] blk_update_request+0x1fb/0x34d
[ 3587.997512]   [<ffffffffa00ed512>] scsi_end_request+0x31/0x182 [scsi_mod]
[ 3587.997522]   [<ffffffffa00eec2d>] scsi_io_completion+0x186/0x46e [scsi_mod]
[ 3587.997530]   [<ffffffffa00e7aa2>] scsi_finish_command+0xd4/0xdd [scsi_mod]
[ 3587.997537]   [<ffffffffa00ee51c>] scsi_softirq_done+0xe0/0xe7 [scsi_mod]
[ 3587.997544]   [<ffffffff811df3ef>] blk_done_softirq+0x84/0x8b
[ 3587.997548]   [<ffffffff8104625c>] __do_softirq+0x196/0x3f5
[ 3587.997552]   [<ffffffff810466aa>] irq_exit+0x40/0x94
[ 3587.997554]   [<ffffffff813c6041>] do_IRQ+0x101/0x119
[ 3587.997558]   [<ffffffff813c4689>] ret_from_intr+0x0/0x19
[ 3587.997561]   [<ffffffff812d9906>] cpuidle_enter+0x17/0x19
[ 3587.997565]   [<ffffffff8107c32a>] call_cpuidle+0x3e/0x40
[ 3587.997569]   [<ffffffff8107c65b>] cpu_startup_entry+0x242/0x35e
[ 3587.997572]   [<ffffffff813bd4fa>] rest_init+0x131/0x137
[ 3587.997575]   [<ffffffff816d4ec1>] start_kernel+0x3dd/0x3ea
[ 3587.997579]   [<ffffffff816d42f1>] x86_64_start_reservations+0x2a/0x2c
[ 3587.997582]   [<ffffffff816d445d>] x86_64_start_kernel+0x16a/0x178
[ 3587.997586] irq event stamp: 191930
[ 3587.997587] hardirqs last  enabled at (191929): [<ffffffff810fb0da>] free_hot_cold_page+0x166/0x179
[ 3587.997591] hardirqs last disabled at (191930): [<ffffffff813c34ad>] _raw_spin_lock_irq+0x13/0x47
[ 3587.997594] softirqs last  enabled at (191758): [<ffffffff810463a5>] __do_softirq+0x2df/0x3f5
[ 3587.997597] softirqs last disabled at (191741): [<ffffffff810466aa>] irq_exit+0x40/0x94
[ 3587.997600]
               other info that might help us debug this:
[ 3587.997602]  Possible unsafe locking scenario:

[ 3587.997604]        CPU0
[ 3587.997605]        ----
[ 3587.997607]   lock(&(&mapping->tree_lock)->rlock);
[ 3587.997610]   <Interrupt>
[ 3587.997611]     lock(&(&mapping->tree_lock)->rlock);
[ 3587.997614]
                *** DEADLOCK ***

[ 3587.997617] 2 locks held by cc1plus/22766:
[ 3587.997618]  #0:  (&mm->mmap_sem){++++++}, at: [<ffffffff81036ee0>] __do_page_fault+0x140/0x35a
[ 3587.997626]  #1:  (&(&mapping->tree_lock)->rlock){+.?...}, at: [<ffffffff8113aaee>] migrate_page_move_mapping+0xbd/0x33f
[ 3587.997633]
               stack backtrace:
[ 3587.997636] CPU: 7 PID: 22766 Comm: cc1plus Not tainted 4.5.0-rc2-next-20160203-dbg-00007-g37a0a9d-dirty torvalds#377
[ 3587.997638]  0000000000000000 ffff88010f73f818 ffffffff811f1b02 ffffffff81f35160
[ 3587.997643]  ffff88013813e900 ffff88010f73f850 ffffffff810f3000 0000000000000006
[ 3587.997647]  ffff88013813f058 ffff88013813e900 ffffffff8107f99d 0000000000000006
[ 3587.997651] Call Trace:
[ 3587.997656]  [<ffffffff811f1b02>] dump_stack+0x67/0x90
[ 3587.997660]  [<ffffffff810f3000>] print_usage_bug.part.24+0x259/0x268
[ 3587.997663]  [<ffffffff8107f99d>] ? check_usage_forwards+0x11c/0x11c
[ 3587.997666]  [<ffffffff81080579>] mark_lock+0x381/0x567
[ 3587.997670]  [<ffffffff810807bd>] mark_held_locks+0x5e/0x74
[ 3587.997673]  [<ffffffff813c363f>] ? _raw_spin_unlock_irq+0x2c/0x4a
[ 3587.997676]  [<ffffffff8108093f>] trace_hardirqs_on_caller+0x16c/0x188
[ 3587.997679]  [<ffffffff81080968>] trace_hardirqs_on+0xd/0xf
[ 3587.997682]  [<ffffffff813c363f>] _raw_spin_unlock_irq+0x2c/0x4a
[ 3587.997686]  [<ffffffff81148bef>] unlock_page_lru+0x11f/0x12a
[ 3587.997689]  [<ffffffff8114a90f>] mem_cgroup_migrate+0x196/0x1d9
[ 3587.997692]  [<ffffffff8113abf3>] migrate_page_move_mapping+0x1c2/0x33f
[ 3587.997696]  [<ffffffff8113b669>] buffer_migrate_page+0x47/0x102
[ 3587.997699]  [<ffffffff8113b4e4>] move_to_new_page+0x56/0x194
[ 3587.997702]  [<ffffffff8113bb6b>] migrate_pages+0x447/0x978
[ 3587.997705]  [<ffffffff811171f0>] ? isolate_freepages_block+0x353/0x353
[ 3587.997708]  [<ffffffff81115cd6>] ? pageblock_pfn_to_page+0xbf/0xbf
[ 3587.997711]  [<ffffffff81118834>] compact_zone+0x690/0x92e
[ 3587.997714]  [<ffffffff81118b40>] compact_zone_order+0x6e/0x8a
[ 3587.997717]  [<ffffffff81118dc3>] try_to_compact_pages+0x151/0x28f
[ 3587.997720]  [<ffffffff81118dc3>] ? try_to_compact_pages+0x151/0x28f
[ 3587.997723]  [<ffffffff8108111a>] ? __lock_is_held+0x3c/0x57
[ 3587.997726]  [<ffffffff810fc471>] __alloc_pages_direct_compact+0x3e/0xeb
[ 3587.997729]  [<ffffffff810fc965>] __alloc_pages_nodemask+0x447/0xb8b
[ 3587.997732]  [<ffffffff81120a18>] ? handle_mm_fault+0x8b4/0x16bf
[ 3587.997737]  [<ffffffff8106409f>] ? __might_sleep+0x75/0x7c
[ 3587.997740]  [<ffffffff81140704>] do_huge_pmd_anonymous_page+0x1d1/0x3fc
[ 3587.997744]  [<ffffffff811202ae>] ? handle_mm_fault+0x14a/0x16bf
[ 3587.997747]  [<ffffffff81120623>] handle_mm_fault+0x4bf/0x16bf
[ 3587.997750]  [<ffffffff8108111a>] ? __lock_is_held+0x3c/0x57
[ 3587.997754]  [<ffffffff81036f7f>] __do_page_fault+0x1df/0x35a
[ 3587.997757]  [<ffffffff8103712c>] do_page_fault+0xc/0xe
[ 3587.997760]  [<ffffffff813c5892>] page_fault+0x22/0x30

Reported-by: Sergey Senozhatsky <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Vladimir Davydov <[email protected]>
Cc: Greg Thelen <[email protected]>
Cc: Hugh Dickins <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
fengguang pushed a commit to 0day-ci/linux that referenced this pull request Mar 15, 2021
This commit fixes the following checkpatch.pl errors:

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#19: FILE: ./hal/HalBtc8723b2Ant.c:19:
    +static struct COEX_DM_8723B_2ANT * pCoexDm = &GLCoexDm8723b2Ant;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#21: FILE: ./hal/HalBtc8723b2Ant.c:21:
    +static struct COEX_STA_8723B_2ANT * pCoexSta = &GLCoexSta8723b2Ant;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#111: FILE: ./hal/HalBtc8723b2Ant.c:111:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#192: FILE: ./hal/HalBtc8723b2Ant.c:192:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#215: FILE: ./hal/HalBtc8723b2Ant.c:215:
    +static void halbtc8723b2ant_MonitorBtCtr(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#265: FILE: ./hal/HalBtc8723b2Ant.c:265:
    +static void halbtc8723b2ant_QueryBtInfo(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#282: FILE: ./hal/HalBtc8723b2Ant.c:282:
    +static bool halbtc8723b2ant_IsWifiStatusChanged(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#313: FILE: ./hal/HalBtc8723b2Ant.c:313:
    +static void halbtc8723b2ant_UpdateBtLinkInfo(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#315: FILE: ./hal/HalBtc8723b2Ant.c:315:
    +	struct BTC_BT_LINK_INFO * pBtLinkInfo = &pBtCoexist->btLinkInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#377: FILE: ./hal/HalBtc8723b2Ant.c:377:
    +static u8 halbtc8723b2ant_ActionAlgorithm(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#379: FILE: ./hal/HalBtc8723b2Ant.c:379:
    +	struct BTC_BT_LINK_INFO * pBtLinkInfo = &pBtCoexist->btLinkInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#552: FILE: ./hal/HalBtc8723b2Ant.c:552:
    +	struct BTC_COEXIST * pBtCoexist, u8 dacSwingLvl

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#576: FILE: ./hal/HalBtc8723b2Ant.c:576:
    +	struct BTC_COEXIST * pBtCoexist, u8 decBtPwrLvl

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#597: FILE: ./hal/HalBtc8723b2Ant.c:597:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, u8 decBtPwrLvl

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#631: FILE: ./hal/HalBtc8723b2Ant.c:631:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, u8 fwDacSwingLvl

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#666: FILE: ./hal/HalBtc8723b2Ant.c:666:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#689: FILE: ./hal/HalBtc8723b2Ant.c:689:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, bool bRxRfShrinkOn

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#723: FILE: ./hal/HalBtc8723b2Ant.c:723:
    +	struct BTC_COEXIST * pBtCoexist, bool bLowPenaltyRa

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#751: FILE: ./hal/HalBtc8723b2Ant.c:751:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, bool bLowPenaltyRa

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #785: FILE: ./hal/HalBtc8723b2Ant.c:785:
    +static void halbtc8723b2ant_SetDacSwingReg(struct BTC_COEXIST * pBtCoexist, u32 level)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#798: FILE: ./hal/HalBtc8723b2Ant.c:798:
    +	struct BTC_COEXIST * pBtCoexist, bool bSwDacSwingOn, u32 swDacSwingLvl

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#809: FILE: ./hal/HalBtc8723b2Ant.c:809:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#853: FILE: ./hal/HalBtc8723b2Ant.c:853:
    +	struct BTC_COEXIST * pBtCoexist, bool bAgcTableEn

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#913: FILE: ./hal/HalBtc8723b2Ant.c:913:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, bool bAgcTableEn

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#947: FILE: ./hal/HalBtc8723b2Ant.c:947:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #984: FILE: ./hal/HalBtc8723b2Ant.c:984:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1050: FILE: ./hal/HalBtc8723b2Ant.c:1050:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, u8 type

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1099: FILE: ./hal/HalBtc8723b2Ant.c:1099:
    +	struct BTC_COEXIST * pBtCoexist, bool bEnable

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1120: FILE: ./hal/HalBtc8723b2Ant.c:1120:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, bool bEnable

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1148: FILE: ./hal/HalBtc8723b2Ant.c:1148:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1187: FILE: ./hal/HalBtc8723b2Ant.c:1187:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1199: FILE: ./hal/HalBtc8723b2Ant.c:1199:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1211: FILE: ./hal/HalBtc8723b2Ant.c:1211:
    +	struct BTC_COEXIST * pBtCoexist, u8 antPosType, bool bInitHwCfg, bool bWifiOff

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1214: FILE: ./hal/HalBtc8723b2Ant.c:1214:
    +	struct BTC_BOARD_INFO * pBoardInfo = &pBtCoexist->boardInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1305: FILE: ./hal/HalBtc8723b2Ant.c:1305:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, bool bTurnOn, u8 type

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1437: FILE: ./hal/HalBtc8723b2Ant.c:1437:
    +static void halbtc8723b2ant_CoexAllOff(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1453: FILE: ./hal/HalBtc8723b2Ant.c:1453:
    +static void halbtc8723b2ant_InitCoexDm(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1465: FILE: ./hal/HalBtc8723b2Ant.c:1465:
    +static void halbtc8723b2ant_ActionBtInquiry(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1493: FILE: ./hal/HalBtc8723b2Ant.c:1493:
    +static bool halbtc8723b2ant_IsCommonAction(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1594: FILE: ./hal/HalBtc8723b2Ant.c:1594:
    +	struct BTC_COEXIST * pBtCoexist, bool bScoHid, bool bTxPause, u8 maxInterval

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2044: FILE: ./hal/HalBtc8723b2Ant.c:2044:
    +static void halbtc8723b2ant_ActionSco(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2099: FILE: ./hal/HalBtc8723b2Ant.c:2099:
    +static void halbtc8723b2ant_ActionHid(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2160: FILE: ./hal/HalBtc8723b2Ant.c:2160:
    +static void halbtc8723b2ant_ActionA2dp(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2241: FILE: ./hal/HalBtc8723b2Ant.c:2241:
    +static void halbtc8723b2ant_ActionA2dpPanHs(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2291: FILE: ./hal/HalBtc8723b2Ant.c:2291:
    +static void halbtc8723b2ant_ActionPanEdr(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2349: FILE: ./hal/HalBtc8723b2Ant.c:2349:
    +static void halbtc8723b2ant_ActionPanHs(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2399: FILE: ./hal/HalBtc8723b2Ant.c:2399:
    +static void halbtc8723b2ant_ActionPanEdrA2dp(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2460: FILE: ./hal/HalBtc8723b2Ant.c:2460:
    +static void halbtc8723b2ant_ActionPanEdrHid(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2524: FILE: ./hal/HalBtc8723b2Ant.c:2524:
    +static void halbtc8723b2ant_ActionHidA2dpPanEdr(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2584: FILE: ./hal/HalBtc8723b2Ant.c:2584:
    +static void halbtc8723b2ant_ActionHidA2dp(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2659: FILE: ./hal/HalBtc8723b2Ant.c:2659:
    +static void halbtc8723b2ant_RunCoexistMechanism(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2758: FILE: ./hal/HalBtc8723b2Ant.c:2758:
    +static void halbtc8723b2ant_WifiOffHwCfg(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2783: FILE: ./hal/HalBtc8723b2Ant.c:2783:
    +static void halbtc8723b2ant_InitHwConfig(struct BTC_COEXIST * pBtCoexist, bool bBackUp)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2817: FILE: ./hal/HalBtc8723b2Ant.c:2817:
    +void EXhalbtc8723b2ant_PowerOnSetting(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2819: FILE: ./hal/HalBtc8723b2Ant.c:2819:
    +	struct BTC_BOARD_INFO * pBoardInfo = &pBtCoexist->boardInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2869: FILE: ./hal/HalBtc8723b2Ant.c:2869:
    +void EXhalbtc8723b2ant_InitHwConfig(struct BTC_COEXIST * pBtCoexist, bool bWifiOnly)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2874: FILE: ./hal/HalBtc8723b2Ant.c:2874:
    +void EXhalbtc8723b2ant_InitCoexDm(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2881: FILE: ./hal/HalBtc8723b2Ant.c:2881:
    +void EXhalbtc8723b2ant_DisplayCoexInfo(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2883: FILE: ./hal/HalBtc8723b2Ant.c:2883:
    +	struct BTC_BOARD_INFO * pBoardInfo = &pBtCoexist->boardInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2884: FILE: ./hal/HalBtc8723b2Ant.c:2884:
    +	struct BTC_STACK_INFO * pStackInfo = &pBtCoexist->stackInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2885: FILE: ./hal/HalBtc8723b2Ant.c:2885:
    +	struct BTC_BT_LINK_INFO * pBtLinkInfo = &pBtCoexist->btLinkInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3262: FILE: ./hal/HalBtc8723b2Ant.c:3262:
    +void EXhalbtc8723b2ant_IpsNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3279: FILE: ./hal/HalBtc8723b2Ant.c:3279:
    +void EXhalbtc8723b2ant_LpsNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3290: FILE: ./hal/HalBtc8723b2Ant.c:3290:
    +void EXhalbtc8723b2ant_ScanNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3299: FILE: ./hal/HalBtc8723b2Ant.c:3299:
    +void EXhalbtc8723b2ant_ConnectNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3308: FILE: ./hal/HalBtc8723b2Ant.c:3308:
    +void EXhalbtc8723b2ant_MediaStatusNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3354: FILE: ./hal/HalBtc8723b2Ant.c:3354:
    +void EXhalbtc8723b2ant_SpecialPacketNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3362: FILE: ./hal/HalBtc8723b2Ant.c:3362:
    +	struct BTC_COEXIST * pBtCoexist, u8 *tmpBuf, u8 length

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3506: FILE: ./hal/HalBtc8723b2Ant.c:3506:
    +void EXhalbtc8723b2ant_HaltNotify(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3517: FILE: ./hal/HalBtc8723b2Ant.c:3517:
    +void EXhalbtc8723b2ant_PnpNotify(struct BTC_COEXIST * pBtCoexist, u8 pnpState)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3531: FILE: ./hal/HalBtc8723b2Ant.c:3531:
    +void EXhalbtc8723b2ant_Periodical(struct BTC_COEXIST * pBtCoexist)

Signed-off-by: Marco Cesati <[email protected]>
fengguang pushed a commit to 0day-ci/linux that referenced this pull request Mar 16, 2021
This commit fixes the following checkpatch.pl errors:

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#19: FILE: ./hal/HalBtc8723b2Ant.c:19:
    +static struct COEX_DM_8723B_2ANT * pCoexDm = &GLCoexDm8723b2Ant;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#21: FILE: ./hal/HalBtc8723b2Ant.c:21:
    +static struct COEX_STA_8723B_2ANT * pCoexSta = &GLCoexSta8723b2Ant;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#111: FILE: ./hal/HalBtc8723b2Ant.c:111:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#192: FILE: ./hal/HalBtc8723b2Ant.c:192:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#215: FILE: ./hal/HalBtc8723b2Ant.c:215:
    +static void halbtc8723b2ant_MonitorBtCtr(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#265: FILE: ./hal/HalBtc8723b2Ant.c:265:
    +static void halbtc8723b2ant_QueryBtInfo(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#282: FILE: ./hal/HalBtc8723b2Ant.c:282:
    +static bool halbtc8723b2ant_IsWifiStatusChanged(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#313: FILE: ./hal/HalBtc8723b2Ant.c:313:
    +static void halbtc8723b2ant_UpdateBtLinkInfo(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#315: FILE: ./hal/HalBtc8723b2Ant.c:315:
    +	struct BTC_BT_LINK_INFO * pBtLinkInfo = &pBtCoexist->btLinkInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#377: FILE: ./hal/HalBtc8723b2Ant.c:377:
    +static u8 halbtc8723b2ant_ActionAlgorithm(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#379: FILE: ./hal/HalBtc8723b2Ant.c:379:
    +	struct BTC_BT_LINK_INFO * pBtLinkInfo = &pBtCoexist->btLinkInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#552: FILE: ./hal/HalBtc8723b2Ant.c:552:
    +	struct BTC_COEXIST * pBtCoexist, u8 dacSwingLvl

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#576: FILE: ./hal/HalBtc8723b2Ant.c:576:
    +	struct BTC_COEXIST * pBtCoexist, u8 decBtPwrLvl

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#597: FILE: ./hal/HalBtc8723b2Ant.c:597:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, u8 decBtPwrLvl

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#631: FILE: ./hal/HalBtc8723b2Ant.c:631:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, u8 fwDacSwingLvl

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#666: FILE: ./hal/HalBtc8723b2Ant.c:666:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#689: FILE: ./hal/HalBtc8723b2Ant.c:689:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, bool bRxRfShrinkOn

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#723: FILE: ./hal/HalBtc8723b2Ant.c:723:
    +	struct BTC_COEXIST * pBtCoexist, bool bLowPenaltyRa

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#751: FILE: ./hal/HalBtc8723b2Ant.c:751:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, bool bLowPenaltyRa

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #785: FILE: ./hal/HalBtc8723b2Ant.c:785:
    +static void halbtc8723b2ant_SetDacSwingReg(struct BTC_COEXIST * pBtCoexist, u32 level)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#798: FILE: ./hal/HalBtc8723b2Ant.c:798:
    +	struct BTC_COEXIST * pBtCoexist, bool bSwDacSwingOn, u32 swDacSwingLvl

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#809: FILE: ./hal/HalBtc8723b2Ant.c:809:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#853: FILE: ./hal/HalBtc8723b2Ant.c:853:
    +	struct BTC_COEXIST * pBtCoexist, bool bAgcTableEn

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#913: FILE: ./hal/HalBtc8723b2Ant.c:913:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, bool bAgcTableEn

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    torvalds#947: FILE: ./hal/HalBtc8723b2Ant.c:947:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #984: FILE: ./hal/HalBtc8723b2Ant.c:984:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1050: FILE: ./hal/HalBtc8723b2Ant.c:1050:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, u8 type

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1099: FILE: ./hal/HalBtc8723b2Ant.c:1099:
    +	struct BTC_COEXIST * pBtCoexist, bool bEnable

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1120: FILE: ./hal/HalBtc8723b2Ant.c:1120:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, bool bEnable

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1148: FILE: ./hal/HalBtc8723b2Ant.c:1148:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1187: FILE: ./hal/HalBtc8723b2Ant.c:1187:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1199: FILE: ./hal/HalBtc8723b2Ant.c:1199:
    +	struct BTC_COEXIST * pBtCoexist,

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1211: FILE: ./hal/HalBtc8723b2Ant.c:1211:
    +	struct BTC_COEXIST * pBtCoexist, u8 antPosType, bool bInitHwCfg, bool bWifiOff

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1214: FILE: ./hal/HalBtc8723b2Ant.c:1214:
    +	struct BTC_BOARD_INFO * pBoardInfo = &pBtCoexist->boardInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1305: FILE: ./hal/HalBtc8723b2Ant.c:1305:
    +	struct BTC_COEXIST * pBtCoexist, bool bForceExec, bool bTurnOn, u8 type

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1437: FILE: ./hal/HalBtc8723b2Ant.c:1437:
    +static void halbtc8723b2ant_CoexAllOff(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1453: FILE: ./hal/HalBtc8723b2Ant.c:1453:
    +static void halbtc8723b2ant_InitCoexDm(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1465: FILE: ./hal/HalBtc8723b2Ant.c:1465:
    +static void halbtc8723b2ant_ActionBtInquiry(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1493: FILE: ./hal/HalBtc8723b2Ant.c:1493:
    +static bool halbtc8723b2ant_IsCommonAction(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #1594: FILE: ./hal/HalBtc8723b2Ant.c:1594:
    +	struct BTC_COEXIST * pBtCoexist, bool bScoHid, bool bTxPause, u8 maxInterval

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2044: FILE: ./hal/HalBtc8723b2Ant.c:2044:
    +static void halbtc8723b2ant_ActionSco(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2099: FILE: ./hal/HalBtc8723b2Ant.c:2099:
    +static void halbtc8723b2ant_ActionHid(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2160: FILE: ./hal/HalBtc8723b2Ant.c:2160:
    +static void halbtc8723b2ant_ActionA2dp(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2241: FILE: ./hal/HalBtc8723b2Ant.c:2241:
    +static void halbtc8723b2ant_ActionA2dpPanHs(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2291: FILE: ./hal/HalBtc8723b2Ant.c:2291:
    +static void halbtc8723b2ant_ActionPanEdr(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2349: FILE: ./hal/HalBtc8723b2Ant.c:2349:
    +static void halbtc8723b2ant_ActionPanHs(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2399: FILE: ./hal/HalBtc8723b2Ant.c:2399:
    +static void halbtc8723b2ant_ActionPanEdrA2dp(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2460: FILE: ./hal/HalBtc8723b2Ant.c:2460:
    +static void halbtc8723b2ant_ActionPanEdrHid(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2524: FILE: ./hal/HalBtc8723b2Ant.c:2524:
    +static void halbtc8723b2ant_ActionHidA2dpPanEdr(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2584: FILE: ./hal/HalBtc8723b2Ant.c:2584:
    +static void halbtc8723b2ant_ActionHidA2dp(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2659: FILE: ./hal/HalBtc8723b2Ant.c:2659:
    +static void halbtc8723b2ant_RunCoexistMechanism(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2758: FILE: ./hal/HalBtc8723b2Ant.c:2758:
    +static void halbtc8723b2ant_WifiOffHwCfg(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2783: FILE: ./hal/HalBtc8723b2Ant.c:2783:
    +static void halbtc8723b2ant_InitHwConfig(struct BTC_COEXIST * pBtCoexist, bool bBackUp)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2817: FILE: ./hal/HalBtc8723b2Ant.c:2817:
    +void EXhalbtc8723b2ant_PowerOnSetting(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2819: FILE: ./hal/HalBtc8723b2Ant.c:2819:
    +	struct BTC_BOARD_INFO * pBoardInfo = &pBtCoexist->boardInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2869: FILE: ./hal/HalBtc8723b2Ant.c:2869:
    +void EXhalbtc8723b2ant_InitHwConfig(struct BTC_COEXIST * pBtCoexist, bool bWifiOnly)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2874: FILE: ./hal/HalBtc8723b2Ant.c:2874:
    +void EXhalbtc8723b2ant_InitCoexDm(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2881: FILE: ./hal/HalBtc8723b2Ant.c:2881:
    +void EXhalbtc8723b2ant_DisplayCoexInfo(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2883: FILE: ./hal/HalBtc8723b2Ant.c:2883:
    +	struct BTC_BOARD_INFO * pBoardInfo = &pBtCoexist->boardInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2884: FILE: ./hal/HalBtc8723b2Ant.c:2884:
    +	struct BTC_STACK_INFO * pStackInfo = &pBtCoexist->stackInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #2885: FILE: ./hal/HalBtc8723b2Ant.c:2885:
    +	struct BTC_BT_LINK_INFO * pBtLinkInfo = &pBtCoexist->btLinkInfo;

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3262: FILE: ./hal/HalBtc8723b2Ant.c:3262:
    +void EXhalbtc8723b2ant_IpsNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3279: FILE: ./hal/HalBtc8723b2Ant.c:3279:
    +void EXhalbtc8723b2ant_LpsNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3290: FILE: ./hal/HalBtc8723b2Ant.c:3290:
    +void EXhalbtc8723b2ant_ScanNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3299: FILE: ./hal/HalBtc8723b2Ant.c:3299:
    +void EXhalbtc8723b2ant_ConnectNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3308: FILE: ./hal/HalBtc8723b2Ant.c:3308:
    +void EXhalbtc8723b2ant_MediaStatusNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3354: FILE: ./hal/HalBtc8723b2Ant.c:3354:
    +void EXhalbtc8723b2ant_SpecialPacketNotify(struct BTC_COEXIST * pBtCoexist, u8 type)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3362: FILE: ./hal/HalBtc8723b2Ant.c:3362:
    +	struct BTC_COEXIST * pBtCoexist, u8 *tmpBuf, u8 length

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3506: FILE: ./hal/HalBtc8723b2Ant.c:3506:
    +void EXhalbtc8723b2ant_HaltNotify(struct BTC_COEXIST * pBtCoexist)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3517: FILE: ./hal/HalBtc8723b2Ant.c:3517:
    +void EXhalbtc8723b2ant_PnpNotify(struct BTC_COEXIST * pBtCoexist, u8 pnpState)

    ERROR:POINTER_LOCATION: "foo * bar" should be "foo *bar"
    #3531: FILE: ./hal/HalBtc8723b2Ant.c:3531:
    +void EXhalbtc8723b2ant_Periodical(struct BTC_COEXIST * pBtCoexist)

Reviewed-by: Dan Carpenter <[email protected]>
Signed-off-by: Marco Cesati <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
ojeda pushed a commit to ojeda/linux that referenced this pull request Jun 29, 2021
rust: update `Ref` to use the kernel's `refcount_t`.
gatieme pushed a commit to gatieme/linux that referenced this pull request Nov 24, 2022
ANBZ: torvalds#377

Add a mount option to allow backend daemon set fs magic value.

Applications identify file system type by fsmgic listed in 'linux/magic.h'.
All FUSE-Based filesystems return the value 'FUSE_SUPER_MAGIC' regardless
of huge difference between them.

By the time this patch is applied, a mechanism is provided that front-end
applications could distinguish different FUSE-Based user-space filesystems
by traditional statfs(2) and make use of their respective advantages.

One practical scenario is Alibaba Cloud's Database file System(DBFS) which
is FUSE-based and supports multiple types of storage engines. Transfer
unique fs magic for each engine to front-end enables applications to select
appropriate instance for different model. For example, MyFS engine with
magic number 'alibaba::dbfs::MYFS_SUPER_MAGIC' is suitable for oltp while
LFS engine with 'alibaba::dbfs::LFS_SUPER_MAGIC' benefit olap.

FUSE-Based filesystem uses this option should deal with conflicts with
values defined in 'linux/magic.h' and other FUSE-Based filesystems.

Signed-off-by: sanyulh <[email protected]>
Reviewed-by: Joseph Qi <[email protected]>
Reviewed-by: Gao Xiang <[email protected]>
Reviewed-by: Jeffle Xu <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this pull request Jan 30, 2023
The task of ftrace_arch_code_modify(_post)_prepare() caller is
stop_machine, whose caller and work thread are of different tasks. The
lockdep checker needs the same task context, or it's wrong. That means
it's a bug here to use lockdep_assert_held because we don't guarantee
the same task context.

kernel/locking/lockdep.c:
int __lock_is_held(const struct lockdep_map *lock, int read)
{
        struct task_struct *curr = current;
        int i;

        for (i = 0; i < curr->lockdep_depth; i++) {
			^^^^^^^^^^^^^^^^^^^
                struct held_lock *hlock = curr->held_locks + i;
					  ^^^^^^^^^^^^^^^^
                if (match_held_lock(hlock, lock)) {
                        if (read == -1 || !!hlock->read == read)
                                return LOCK_STATE_HELD;

The __lock_is_held depends on current held_locks records; if
stop_machine makes the checker runing on another task, that's wrong.

Here is the log:
[   15.761523] ------------[ cut here ]------------
[   15.762125] WARNING: CPU: 0 PID: 15 at arch/riscv/kernel/patch.c:63 patch_insn_write+0x72/0x364
[   15.763258] Modules linked in:
[   15.764154] CPU: 0 PID: 15 Comm: migration/0 Not tainted 6.1.0-rc1-00014-g66924be85884-dirty torvalds#377
[   15.765339] Hardware name: riscv-virtio,qemu (DT)
[   15.765985] Stopper: multi_cpu_stop+0x0/0x192 <- stop_cpus.constprop.0+0x90/0xe2
[   15.766711] epc : patch_insn_write+0x72/0x364
[   15.767011]  ra : patch_insn_write+0x70/0x364
[   15.767276] epc : ffffffff8000721e ra : ffffffff8000721c sp : ff2000000067bca0
[   15.767622]  gp : ffffffff81603f90 tp : ff60000002432a00 t0 : 7300000000000000
[   15.767919]  t1 : 0000000000000000 t2 : 73695f6b636f6c5f s0 : ff2000000067bcf0
[   15.768238]  s1 : 0000000000000008 a0 : 0000000000000000 a1 : 0000000000000000
[   15.768537]  a2 : 0000000000000000 a3 : 0000000000000000 a4 : 0000000000000000
[   15.768837]  a5 : 0000000000000000 a6 : 0000000000000000 a7 : 0000000000000000
[   15.769139]  s2 : ffffffff80009faa s3 : ff2000000067bd10 s4 : ffffffffffffffff
[   15.769447]  s5 : 0000000000000001 s6 : 0000000000000001 s7 : 0000000000000003
[   15.769740]  s8 : 0000000000000002 s9 : 0000000000000004 s10: 0000000000000003
[   15.770027]  s11: 0000000000000002 t3 : 0000000000000000 t4 : ffffffff819af097
[   15.770323]  t5 : ffffffff819af098 t6 : ff2000000067ba28
[   15.770574] status: 0000000200000100 badaddr: 0000000000000000 cause: 0000000000000003
[   15.771102] [<ffffffff80007520>] patch_text_nosync+0x10/0x3a
[   15.771421] [<ffffffff80009c66>] ftrace_update_ftrace_func+0x74/0x10a
[   15.771704] [<ffffffff800fa17e>] ftrace_modify_all_code+0xb0/0x16c
[   15.771958] [<ffffffff800fa24c>] __ftrace_modify_code+0x12/0x1c
[   15.772196] [<ffffffff800e110e>] multi_cpu_stop+0x14a/0x192
[   15.772454] [<ffffffff800e0a34>] cpu_stopper_thread+0x96/0x14c
[   15.772699] [<ffffffff8003f4ea>] smpboot_thread_fn+0xf8/0x1cc
[   15.772945] [<ffffffff8003ac9c>] kthread+0xe2/0xf8
[   15.773160] [<ffffffff80003e98>] ret_from_exception+0x0/0x14
[   15.773471] ---[ end trace 0000000000000000 ]---

By the way, this also fixes the same issue for patch_text().

Fixes: 0ff7c3b ("riscv: Use text_mutex instead of patch_lock")
Co-developed-by: Guo Ren <[email protected]>
Signed-off-by: Guo Ren <[email protected]>
Cc: Zong Li <[email protected]>
Cc: Palmer Dabbelt <[email protected]>
Signed-off-by: Changbin Du <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this pull request Feb 2, 2023
The task of ftrace_arch_code_modify(_post)_prepare() caller is
stop_machine, whose caller and work thread are of different tasks. The
lockdep checker needs the same task context, or it's wrong. That means
it's a bug here to use lockdep_assert_held because we don't guarantee
the same task context.

kernel/locking/lockdep.c:
int __lock_is_held(const struct lockdep_map *lock, int read)
{
        struct task_struct *curr = current;
        int i;

        for (i = 0; i < curr->lockdep_depth; i++) {
			^^^^^^^^^^^^^^^^^^^
                struct held_lock *hlock = curr->held_locks + i;
					  ^^^^^^^^^^^^^^^^
                if (match_held_lock(hlock, lock)) {
                        if (read == -1 || !!hlock->read == read)
                                return LOCK_STATE_HELD;

The __lock_is_held depends on current held_locks records; if
stop_machine makes the checker running on another task, that's wrong.

Here is the log:
[   15.761523] ------------[ cut here ]------------
[   15.762125] WARNING: CPU: 0 PID: 15 at arch/riscv/kernel/patch.c:63 patch_insn_write+0x72/0x364
[   15.763258] Modules linked in:
[   15.764154] CPU: 0 PID: 15 Comm: migration/0 Not tainted 6.1.0-rc1-00014-g66924be85884-dirty torvalds#377
[   15.765339] Hardware name: riscv-virtio,qemu (DT)
[   15.765985] Stopper: multi_cpu_stop+0x0/0x192 <- stop_cpus.constprop.0+0x90/0xe2
[   15.766711] epc : patch_insn_write+0x72/0x364
[   15.767011]  ra : patch_insn_write+0x70/0x364
[   15.767276] epc : ffffffff8000721e ra : ffffffff8000721c sp : ff2000000067bca0
[   15.767622]  gp : ffffffff81603f90 tp : ff60000002432a00 t0 : 7300000000000000
[   15.767919]  t1 : 0000000000000000 t2 : 73695f6b636f6c5f s0 : ff2000000067bcf0
[   15.768238]  s1 : 0000000000000008 a0 : 0000000000000000 a1 : 0000000000000000
[   15.768537]  a2 : 0000000000000000 a3 : 0000000000000000 a4 : 0000000000000000
[   15.768837]  a5 : 0000000000000000 a6 : 0000000000000000 a7 : 0000000000000000
[   15.769139]  s2 : ffffffff80009faa s3 : ff2000000067bd10 s4 : ffffffffffffffff
[   15.769447]  s5 : 0000000000000001 s6 : 0000000000000001 s7 : 0000000000000003
[   15.769740]  s8 : 0000000000000002 s9 : 0000000000000004 s10: 0000000000000003
[   15.770027]  s11: 0000000000000002 t3 : 0000000000000000 t4 : ffffffff819af097
[   15.770323]  t5 : ffffffff819af098 t6 : ff2000000067ba28
[   15.770574] status: 0000000200000100 badaddr: 0000000000000000 cause: 0000000000000003
[   15.771102] [<ffffffff80007520>] patch_text_nosync+0x10/0x3a
[   15.771421] [<ffffffff80009c66>] ftrace_update_ftrace_func+0x74/0x10a
[   15.771704] [<ffffffff800fa17e>] ftrace_modify_all_code+0xb0/0x16c
[   15.771958] [<ffffffff800fa24c>] __ftrace_modify_code+0x12/0x1c
[   15.772196] [<ffffffff800e110e>] multi_cpu_stop+0x14a/0x192
[   15.772454] [<ffffffff800e0a34>] cpu_stopper_thread+0x96/0x14c
[   15.772699] [<ffffffff8003f4ea>] smpboot_thread_fn+0xf8/0x1cc
[   15.772945] [<ffffffff8003ac9c>] kthread+0xe2/0xf8
[   15.773160] [<ffffffff80003e98>] ret_from_exception+0x0/0x14
[   15.773471] ---[ end trace 0000000000000000 ]---

By the way, this also fixes the same issue for patch_text().

Fixes: 0ff7c3b ("riscv: Use text_mutex instead of patch_lock")
Co-developed-by: Guo Ren <[email protected]>
Signed-off-by: Guo Ren <[email protected]>
Cc: Zong Li <[email protected]>
Cc: Palmer Dabbelt <[email protected]>
Signed-off-by: Changbin Du <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant