begin_current_label_crit_section() must run in sleepable context because
when label_is_stale() is true, aa_replace_current_label() runs, which uses
prepare_creds(), which can sleep.
Until now, the ptraceme access check (which runs with tasklist_lock held)
violated this rule.
Fixes: b2d09ae449ced ("apparmor: move ptrace checks to using labels")
Reported-by: Cyrill Gorcunov <[email protected]>
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Jann Horn <[email protected]>
---
security/apparmor/lsm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index 8c7f46a6a8dc..0f56431b4b2f 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -131,11 +131,11 @@ static int apparmor_ptrace_traceme(struct task_struct *parent)
struct aa_label *tracer, *tracee;
int error;
- tracee = begin_current_label_crit_section();
+ tracee = __begin_current_label_crit_section();
tracer = aa_get_task_label(parent);
error = aa_may_ptrace(tracer, tracee, AA_PTRACE_TRACE);
aa_put_label(tracer);
- end_current_label_crit_section(tracee);
+ __end_current_label_crit_section(tracee);
return error;
}
--
2.19.0.605.g01d371f741-goog
On 09/28/2018 06:49 PM, Jann Horn wrote:
> begin_current_label_crit_section() must run in sleepable context because
> when label_is_stale() is true, aa_replace_current_label() runs, which uses
> prepare_creds(), which can sleep.
>
> Until now, the ptraceme access check (which runs with tasklist_lock held)
> violated this rule.
>
yep, thanks
I've pulled this into my tree and will send it up with another fix
Acked-by: John Johansen <[email protected]>
> Fixes: b2d09ae449ced ("apparmor: move ptrace checks to using labels")
> Reported-by: Cyrill Gorcunov <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: Jann Horn <[email protected]>
> ---
> security/apparmor/lsm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> index 8c7f46a6a8dc..0f56431b4b2f 100644
> --- a/security/apparmor/lsm.c
> +++ b/security/apparmor/lsm.c
> @@ -131,11 +131,11 @@ static int apparmor_ptrace_traceme(struct task_struct *parent)
> struct aa_label *tracer, *tracee;
> int error;
>
> - tracee = begin_current_label_crit_section();
> + tracee = __begin_current_label_crit_section();
> tracer = aa_get_task_label(parent);
> error = aa_may_ptrace(tracer, tracee, AA_PTRACE_TRACE);
> aa_put_label(tracer);
> - end_current_label_crit_section(tracee);
> + __end_current_label_crit_section(tracee);
>
> return error;
> }
>
Hi Jann,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on security/next]
[also build test WARNING on v4.19-rc5 next-20180928]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Jann-Horn/apparmor-don-t-try-to-replace-stale-label-in-ptraceme-check/20180929-101346
base: https://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
drivers/net/wireless/marvell/mwifiex/usb.c:885:41: warning: incorrect type in assignment (different base types)
drivers/net/wireless/marvell/mwifiex/usb.c:885:41: expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:885:41: got restricted __le16 [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:886:45: warning: incorrect type in assignment (different base types)
drivers/net/wireless/marvell/mwifiex/usb.c:886:45: expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:886:45: got restricted __le16 [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:891:41: warning: incorrect type in assignment (different base types)
drivers/net/wireless/marvell/mwifiex/usb.c:891:41: expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:891:41: got restricted __le16 [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:892:45: warning: incorrect type in assignment (different base types)
drivers/net/wireless/marvell/mwifiex/usb.c:892:45: expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:892:45: got restricted __le16 [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:1071:37: warning: incorrect type in assignment (different base types)
drivers/net/wireless/marvell/mwifiex/usb.c:1071:37: expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:1071:37: got restricted __le16 [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:1073:33: warning: incorrect type in assignment (different base types)
drivers/net/wireless/marvell/mwifiex/usb.c:1073:33: expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/net/wireless/marvell/mwifiex/usb.c:1073:33: got restricted __le16 [usertype] <noident>
>> drivers/net/wireless/marvell/mwifiex/usb.c:1099:13: warning: context imbalance in 'mwifiex_usb_tx_aggr_tmo' - wrong count at exit
--
>> drivers/staging/android/ion/ion_cma_heap.c:109:5: warning: symbol '__ion_add_cma_heaps' was not declared. Should it be static?
--
>> drivers/md/dm.c:1526:28: warning: incorrect type in argument 2 (different base types)
drivers/md/dm.c:1526:28: expected restricted blk_status_t [usertype] error
drivers/md/dm.c:1526:28: got int [signed] [assigned] error
drivers/md/dm.c:931:25: warning: context imbalance in 'dm_dax_get_live_target' - wrong count at exit
drivers/md/dm.c:971:9: warning: context imbalance in 'dm_dax_direct_access' - unexpected unlock
drivers/md/dm.c:995:9: warning: context imbalance in 'dm_dax_copy_from_iter' - unexpected unlock
>> drivers/md/dm.c:1015:9: warning: context imbalance in 'dm_dax_flush' - unexpected unlock
--
>> drivers/md/dm-bufio.c:1323:11: warning: incorrect type in assignment (different base types)
drivers/md/dm-bufio.c:1323:11: expected restricted blk_status_t [usertype] a
drivers/md/dm-bufio.c:1323:11: got int [signed] [assigned] __ret
>> drivers/md/dm-bufio.c:1326:24: warning: incorrect type in return expression (different base types)
drivers/md/dm-bufio.c:1326:24: expected int
drivers/md/dm-bufio.c:1326:24: got restricted blk_status_t [usertype] a
--
>> drivers/gpu/drm/drm_dp_mst_topology.c:3020:6: warning: symbol 'drm_dp_mst_duplicate_state' was not declared. Should it be static?
>> drivers/gpu/drm/drm_dp_mst_topology.c:3034:6: warning: symbol 'drm_dp_mst_swap_state' was not declared. Should it be static?
>> drivers/gpu/drm/drm_dp_mst_topology.c:3046:6: warning: symbol 'drm_dp_mst_destroy_state' was not declared. Should it be static?
--
>> sound/soc/codecs/hdmi-codec.c:70:33: warning: symbol 'hdmi_codec_stereo_chmaps' was not declared. Should it be static?
>> sound/soc/codecs/hdmi-codec.c:77:33: warning: symbol 'hdmi_codec_8ch_chmaps' was not declared. Should it be static?
>> sound/soc/codecs/hdmi-codec.c:343:6: warning: symbol 'hdmi_codec_eld_chmap' was not declared. Should it be static?
--
>> sound/soc/codecs/zx_aud96p22.c:385:27: warning: symbol 'aud96p22_dt_ids' was not declared. Should it be static?
--
>> drivers/staging/typec/tcpm.c:1019:49: warning: incorrect type in assignment (different base types)
drivers/staging/typec/tcpm.c:1019:49: expected unsigned int [unsigned] [usertype] <noident>
drivers/staging/typec/tcpm.c:1019:49: got restricted __le32 [usertype] <noident>
--
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:465:36: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:466:41: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:478:17: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:480:17: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:492:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:492:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:492:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:499:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:499:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:499:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:506:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:506:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:506:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:513:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:513:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:513:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:527:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:527:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:527:25: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:541:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:541:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:541:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:607:25: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:607:25: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:607:25: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:608:25: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:608:25: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:608:25: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:610:25: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:610:25: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:610:25: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:611:25: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:611:25: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:611:25: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:612:25: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:612:25: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:612:25: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:617:49: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:617:49: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:617:49: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:619:49: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:619:49: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:619:49: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:622:57: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:622:57: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:622:57: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:629:25: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:629:25: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:629:25: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:630:25: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:630:25: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:630:25: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:632:25: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:632:25: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:632:25: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:633:25: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:633:25: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:633:25: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:702:34: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:703:40: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:704:38: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:710:34: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:711:40: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:712:38: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:718:34: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:719:40: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:720:38: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:726:34: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:727:40: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:728:38: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:734:34: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:735:40: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:736:38: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:740:48: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:740:48: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:740:48: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:905:18: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:906:19: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2028:6: warning: symbol 'gfx_v9_0_rlc_stop' was not declared. Should it be static?
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2092:28: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2093:19: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2185:18: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2186:19: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2195:18: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2196:19: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2205:18: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2206:19: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2374:18: warning: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:4159:27: warning: symbol 'gfx_v9_0_ip_funcs' was not declared. Should it be static?
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:4445:38: warning: symbol 'gfx_v9_0_ip_block' was not declared. Should it be static?
--
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:199:53: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:200:58: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:212:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:212:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:212:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:768:27: warning: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:770:33: warning: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:771:33: warning: cast to restricted __le16
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:775:39: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:782:33: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:863:28: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:863:28: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:863:28: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:881:23: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:925:28: warning: incorrect type in assignment (different base types)
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:925:28: expected unsigned int volatile [unsigned] [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:925:28: got restricted __le32 [usertype] <noident>
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:957:15: warning: cast to restricted __le32
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1545:27: warning: symbol 'sdma_v4_0_ip_funcs' was not declared. Should it be static?
drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1702:38: warning: symbol 'sdma_v4_0_ip_block' was not declared. Should it be static?
--
>> drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c:252:24: warning: symbol 'pctl0_data' was not declared. Should it be static?
>> drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c:277:24: warning: symbol 'pctl1_data' was not declared. Should it be static?
..
vim +/mwifiex_usb_tx_aggr_tmo +1099 drivers/net/wireless/marvell/mwifiex/usb.c
c5994293 Xinming Hu 2017-05-23 1098
a2ca85ad Xinming Hu 2017-05-23 @1099 static void mwifiex_usb_tx_aggr_tmo(unsigned long context)
a2ca85ad Xinming Hu 2017-05-23 1100 {
a2ca85ad Xinming Hu 2017-05-23 1101 struct urb_context *urb_cnxt = NULL;
a2ca85ad Xinming Hu 2017-05-23 1102 struct sk_buff *skb_send = NULL;
a2ca85ad Xinming Hu 2017-05-23 1103 struct tx_aggr_tmr_cnxt *timer_context =
a2ca85ad Xinming Hu 2017-05-23 1104 (struct tx_aggr_tmr_cnxt *)context;
a2ca85ad Xinming Hu 2017-05-23 1105 struct mwifiex_adapter *adapter = timer_context->adapter;
a2ca85ad Xinming Hu 2017-05-23 1106 struct usb_tx_data_port *port = timer_context->port;
a2ca85ad Xinming Hu 2017-05-23 1107 unsigned long flags;
a2ca85ad Xinming Hu 2017-05-23 1108 int err = 0;
a2ca85ad Xinming Hu 2017-05-23 1109
a2ca85ad Xinming Hu 2017-05-23 1110 spin_lock_irqsave(&port->tx_aggr_lock, flags);
a2ca85ad Xinming Hu 2017-05-23 1111 err = mwifiex_usb_prepare_tx_aggr_skb(adapter, port, &skb_send);
a2ca85ad Xinming Hu 2017-05-23 1112 if (err) {
a2ca85ad Xinming Hu 2017-05-23 1113 mwifiex_dbg(adapter, ERROR,
a2ca85ad Xinming Hu 2017-05-23 1114 "prepare tx aggr skb failed, err=%d\n", err);
a2ca85ad Xinming Hu 2017-05-23 1115 return;
a2ca85ad Xinming Hu 2017-05-23 1116 }
a2ca85ad Xinming Hu 2017-05-23 1117
a2ca85ad Xinming Hu 2017-05-23 1118 if (atomic_read(&port->tx_data_urb_pending) >=
a2ca85ad Xinming Hu 2017-05-23 1119 MWIFIEX_TX_DATA_URB) {
a2ca85ad Xinming Hu 2017-05-23 1120 port->block_status = true;
a2ca85ad Xinming Hu 2017-05-23 1121 adapter->data_sent =
a2ca85ad Xinming Hu 2017-05-23 1122 mwifiex_usb_data_sent(adapter);
a2ca85ad Xinming Hu 2017-05-23 1123 err = -1;
a2ca85ad Xinming Hu 2017-05-23 1124 goto done;
a2ca85ad Xinming Hu 2017-05-23 1125 }
a2ca85ad Xinming Hu 2017-05-23 1126
a2ca85ad Xinming Hu 2017-05-23 1127 if (port->tx_data_ix >= MWIFIEX_TX_DATA_URB)
a2ca85ad Xinming Hu 2017-05-23 1128 port->tx_data_ix = 0;
a2ca85ad Xinming Hu 2017-05-23 1129
a2ca85ad Xinming Hu 2017-05-23 1130 urb_cnxt = &port->tx_data_list[port->tx_data_ix++];
a2ca85ad Xinming Hu 2017-05-23 1131 err = mwifiex_usb_construct_send_urb(adapter, port, port->tx_data_ep,
a2ca85ad Xinming Hu 2017-05-23 1132 urb_cnxt, skb_send);
a2ca85ad Xinming Hu 2017-05-23 1133 done:
a2ca85ad Xinming Hu 2017-05-23 1134 if (err == -1)
a2ca85ad Xinming Hu 2017-05-23 1135 mwifiex_write_data_complete(adapter, skb_send, 0, -1);
a2ca85ad Xinming Hu 2017-05-23 1136 spin_unlock_irqrestore(&port->tx_aggr_lock, flags);
a2ca85ad Xinming Hu 2017-05-23 1137 }
a2ca85ad Xinming Hu 2017-05-23 1138
:::::: The code at line 1099 was first introduced by commit
:::::: a2ca85ad721de50b90d50f3a11b67c4776a1236d mwifiex: usb: add timer to flush aggregation packets
:::::: TO: Xinming Hu <[email protected]>
:::::: CC: Kalle Valo <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
On Sun, Sep 30, 2018 at 1:24 AM kbuild test robot <[email protected]> wrote:
>
> Hi Jann,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on security/next]
> [also build test WARNING on v4.19-rc5 next-20180928]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
This looks to me as if something went very wrong in the 0day test bot;
the warnings below don't have anything to do with my patch, as far as
I can tell, and the "TO:" and "CC:" lines at the bottom of this
message are also entirely unrelated.
> url: https://github.com/0day-ci/linux/commits/Jann-Horn/apparmor-don-t-try-to-replace-stale-label-in-ptraceme-check/20180929-101346
> base: https://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git next
> config: x86_64-allmodconfig (attached as .config)
> compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=x86_64
>
> All warnings (new ones prefixed by >>):
>
> drivers/net/wireless/marvell/mwifiex/usb.c:885:41: warning: incorrect type in assignment (different base types)
> drivers/net/wireless/marvell/mwifiex/usb.c:885:41: expected unsigned short [unsigned] [short] [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:885:41: got restricted __le16 [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:886:45: warning: incorrect type in assignment (different base types)
> drivers/net/wireless/marvell/mwifiex/usb.c:886:45: expected unsigned short [unsigned] [short] [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:886:45: got restricted __le16 [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:891:41: warning: incorrect type in assignment (different base types)
> drivers/net/wireless/marvell/mwifiex/usb.c:891:41: expected unsigned short [unsigned] [short] [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:891:41: got restricted __le16 [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:892:45: warning: incorrect type in assignment (different base types)
> drivers/net/wireless/marvell/mwifiex/usb.c:892:45: expected unsigned short [unsigned] [short] [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:892:45: got restricted __le16 [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:1071:37: warning: incorrect type in assignment (different base types)
> drivers/net/wireless/marvell/mwifiex/usb.c:1071:37: expected unsigned short [unsigned] [short] [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:1071:37: got restricted __le16 [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:1073:33: warning: incorrect type in assignment (different base types)
> drivers/net/wireless/marvell/mwifiex/usb.c:1073:33: expected unsigned short [unsigned] [short] [usertype] <noident>
> drivers/net/wireless/marvell/mwifiex/usb.c:1073:33: got restricted __le16 [usertype] <noident>
> >> drivers/net/wireless/marvell/mwifiex/usb.c:1099:13: warning: context imbalance in 'mwifiex_usb_tx_aggr_tmo' - wrong count at exit
> --
> >> drivers/staging/android/ion/ion_cma_heap.c:109:5: warning: symbol '__ion_add_cma_heaps' was not declared. Should it be static?
> --
> >> drivers/md/dm.c:1526:28: warning: incorrect type in argument 2 (different base types)
> drivers/md/dm.c:1526:28: expected restricted blk_status_t [usertype] error
> drivers/md/dm.c:1526:28: got int [signed] [assigned] error
> drivers/md/dm.c:931:25: warning: context imbalance in 'dm_dax_get_live_target' - wrong count at exit
> drivers/md/dm.c:971:9: warning: context imbalance in 'dm_dax_direct_access' - unexpected unlock
> drivers/md/dm.c:995:9: warning: context imbalance in 'dm_dax_copy_from_iter' - unexpected unlock
> >> drivers/md/dm.c:1015:9: warning: context imbalance in 'dm_dax_flush' - unexpected unlock
> --
> >> drivers/md/dm-bufio.c:1323:11: warning: incorrect type in assignment (different base types)
> drivers/md/dm-bufio.c:1323:11: expected restricted blk_status_t [usertype] a
> drivers/md/dm-bufio.c:1323:11: got int [signed] [assigned] __ret
> >> drivers/md/dm-bufio.c:1326:24: warning: incorrect type in return expression (different base types)
> drivers/md/dm-bufio.c:1326:24: expected int
> drivers/md/dm-bufio.c:1326:24: got restricted blk_status_t [usertype] a
> --
> >> drivers/gpu/drm/drm_dp_mst_topology.c:3020:6: warning: symbol 'drm_dp_mst_duplicate_state' was not declared. Should it be static?
> >> drivers/gpu/drm/drm_dp_mst_topology.c:3034:6: warning: symbol 'drm_dp_mst_swap_state' was not declared. Should it be static?
> >> drivers/gpu/drm/drm_dp_mst_topology.c:3046:6: warning: symbol 'drm_dp_mst_destroy_state' was not declared. Should it be static?
> --
> >> sound/soc/codecs/hdmi-codec.c:70:33: warning: symbol 'hdmi_codec_stereo_chmaps' was not declared. Should it be static?
> >> sound/soc/codecs/hdmi-codec.c:77:33: warning: symbol 'hdmi_codec_8ch_chmaps' was not declared. Should it be static?
> >> sound/soc/codecs/hdmi-codec.c:343:6: warning: symbol 'hdmi_codec_eld_chmap' was not declared. Should it be static?
> --
> >> sound/soc/codecs/zx_aud96p22.c:385:27: warning: symbol 'aud96p22_dt_ids' was not declared. Should it be static?
> --
> >> drivers/staging/typec/tcpm.c:1019:49: warning: incorrect type in assignment (different base types)
> drivers/staging/typec/tcpm.c:1019:49: expected unsigned int [unsigned] [usertype] <noident>
> drivers/staging/typec/tcpm.c:1019:49: got restricted __le32 [usertype] <noident>
> --
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:465:36: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:466:41: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:478:17: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:480:17: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:492:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:492:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:492:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:499:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:499:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:499:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:506:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:506:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:506:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:513:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:513:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:513:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:521:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:527:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:527:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:527:25: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:536:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:541:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:541:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:541:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:607:25: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:607:25: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:607:25: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:608:25: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:608:25: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:608:25: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:610:25: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:610:25: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:610:25: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:611:25: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:611:25: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:611:25: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:612:25: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:612:25: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:612:25: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:617:49: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:617:49: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:617:49: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:619:49: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:619:49: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:619:49: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:622:57: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:622:57: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:622:57: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:629:25: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:629:25: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:629:25: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:630:25: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:630:25: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:630:25: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:632:25: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:632:25: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:632:25: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:633:25: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:633:25: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:633:25: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:702:34: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:703:40: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:704:38: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:710:34: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:711:40: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:712:38: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:718:34: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:719:40: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:720:38: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:726:34: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:727:40: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:728:38: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:734:34: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:735:40: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:736:38: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:740:48: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:740:48: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:740:48: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:905:18: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:906:19: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2028:6: warning: symbol 'gfx_v9_0_rlc_stop' was not declared. Should it be static?
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2092:28: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2093:19: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2185:18: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2186:19: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2195:18: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2196:19: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2205:18: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2206:19: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:2374:18: warning: cast to restricted __le32
> >> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:4159:27: warning: symbol 'gfx_v9_0_ip_funcs' was not declared. Should it be static?
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c:4445:38: warning: symbol 'gfx_v9_0_ip_block' was not declared. Should it be static?
> --
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:199:53: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:200:58: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:212:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:212:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:212:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:768:27: warning: cast to restricted __le32
> >> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:770:33: warning: cast to restricted __le16
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:771:33: warning: cast to restricted __le16
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:775:39: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:782:33: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:863:28: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:863:28: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:863:28: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:881:23: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:925:28: warning: incorrect type in assignment (different base types)
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:925:28: expected unsigned int volatile [unsigned] [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:925:28: got restricted __le32 [usertype] <noident>
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:957:15: warning: cast to restricted __le32
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1545:27: warning: symbol 'sdma_v4_0_ip_funcs' was not declared. Should it be static?
> drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c:1702:38: warning: symbol 'sdma_v4_0_ip_block' was not declared. Should it be static?
> --
> >> drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c:252:24: warning: symbol 'pctl0_data' was not declared. Should it be static?
> >> drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c:277:24: warning: symbol 'pctl1_data' was not declared. Should it be static?
> ..
>
> vim +/mwifiex_usb_tx_aggr_tmo +1099 drivers/net/wireless/marvell/mwifiex/usb.c
>
> c5994293 Xinming Hu 2017-05-23 1098
> a2ca85ad Xinming Hu 2017-05-23 @1099 static void mwifiex_usb_tx_aggr_tmo(unsigned long context)
> a2ca85ad Xinming Hu 2017-05-23 1100 {
> a2ca85ad Xinming Hu 2017-05-23 1101 struct urb_context *urb_cnxt = NULL;
> a2ca85ad Xinming Hu 2017-05-23 1102 struct sk_buff *skb_send = NULL;
> a2ca85ad Xinming Hu 2017-05-23 1103 struct tx_aggr_tmr_cnxt *timer_context =
> a2ca85ad Xinming Hu 2017-05-23 1104 (struct tx_aggr_tmr_cnxt *)context;
> a2ca85ad Xinming Hu 2017-05-23 1105 struct mwifiex_adapter *adapter = timer_context->adapter;
> a2ca85ad Xinming Hu 2017-05-23 1106 struct usb_tx_data_port *port = timer_context->port;
> a2ca85ad Xinming Hu 2017-05-23 1107 unsigned long flags;
> a2ca85ad Xinming Hu 2017-05-23 1108 int err = 0;
> a2ca85ad Xinming Hu 2017-05-23 1109
> a2ca85ad Xinming Hu 2017-05-23 1110 spin_lock_irqsave(&port->tx_aggr_lock, flags);
> a2ca85ad Xinming Hu 2017-05-23 1111 err = mwifiex_usb_prepare_tx_aggr_skb(adapter, port, &skb_send);
> a2ca85ad Xinming Hu 2017-05-23 1112 if (err) {
> a2ca85ad Xinming Hu 2017-05-23 1113 mwifiex_dbg(adapter, ERROR,
> a2ca85ad Xinming Hu 2017-05-23 1114 "prepare tx aggr skb failed, err=%d\n", err);
> a2ca85ad Xinming Hu 2017-05-23 1115 return;
> a2ca85ad Xinming Hu 2017-05-23 1116 }
> a2ca85ad Xinming Hu 2017-05-23 1117
> a2ca85ad Xinming Hu 2017-05-23 1118 if (atomic_read(&port->tx_data_urb_pending) >=
> a2ca85ad Xinming Hu 2017-05-23 1119 MWIFIEX_TX_DATA_URB) {
> a2ca85ad Xinming Hu 2017-05-23 1120 port->block_status = true;
> a2ca85ad Xinming Hu 2017-05-23 1121 adapter->data_sent =
> a2ca85ad Xinming Hu 2017-05-23 1122 mwifiex_usb_data_sent(adapter);
> a2ca85ad Xinming Hu 2017-05-23 1123 err = -1;
> a2ca85ad Xinming Hu 2017-05-23 1124 goto done;
> a2ca85ad Xinming Hu 2017-05-23 1125 }
> a2ca85ad Xinming Hu 2017-05-23 1126
> a2ca85ad Xinming Hu 2017-05-23 1127 if (port->tx_data_ix >= MWIFIEX_TX_DATA_URB)
> a2ca85ad Xinming Hu 2017-05-23 1128 port->tx_data_ix = 0;
> a2ca85ad Xinming Hu 2017-05-23 1129
> a2ca85ad Xinming Hu 2017-05-23 1130 urb_cnxt = &port->tx_data_list[port->tx_data_ix++];
> a2ca85ad Xinming Hu 2017-05-23 1131 err = mwifiex_usb_construct_send_urb(adapter, port, port->tx_data_ep,
> a2ca85ad Xinming Hu 2017-05-23 1132 urb_cnxt, skb_send);
> a2ca85ad Xinming Hu 2017-05-23 1133 done:
> a2ca85ad Xinming Hu 2017-05-23 1134 if (err == -1)
> a2ca85ad Xinming Hu 2017-05-23 1135 mwifiex_write_data_complete(adapter, skb_send, 0, -1);
> a2ca85ad Xinming Hu 2017-05-23 1136 spin_unlock_irqrestore(&port->tx_aggr_lock, flags);
> a2ca85ad Xinming Hu 2017-05-23 1137 }
> a2ca85ad Xinming Hu 2017-05-23 1138
>
> :::::: The code at line 1099 was first introduced by commit
> :::::: a2ca85ad721de50b90d50f3a11b67c4776a1236d mwifiex: usb: add timer to flush aggregation packets
>
> :::::: TO: Xinming Hu <[email protected]>
> :::::: CC: Kalle Valo <[email protected]>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi Jann,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on security/next]
[also build test WARNING on v4.19-rc5 next-20180928]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Jann-Horn/apparmor-don-t-try-to-replace-stale-label-in-ptraceme-check/20180929-101346
base: https://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
drivers/tty/serial/8250/8250_port.c:332:14: warning: symbol 'au_serial_in' was not declared. Should it be static?
drivers/tty/serial/8250/8250_port.c:342:6: warning: symbol 'au_serial_out' was not declared. Should it be static?
>> include/linux/spinlock.h:354:9: warning: context imbalance in 'serial8250_console_write' - unexpected unlock
vim +/serial8250_console_write +354 include/linux/spinlock.h
c2f21ce2 Thomas Gleixner 2009-12-02 351
3490565b Denys Vlasenko 2015-07-13 352 static __always_inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
c2f21ce2 Thomas Gleixner 2009-12-02 353 {
c2f21ce2 Thomas Gleixner 2009-12-02 @354 raw_spin_unlock_irqrestore(&lock->rlock, flags);
c2f21ce2 Thomas Gleixner 2009-12-02 355 }
c2f21ce2 Thomas Gleixner 2009-12-02 356
:::::: The code at line 354 was first introduced by commit
:::::: c2f21ce2e31286a0a32f8da0a7856e9ca1122ef3 locking: Implement new raw_spinlock
:::::: TO: Thomas Gleixner <[email protected]>
:::::: CC: Thomas Gleixner <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation