mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
netfilter: xt_qtaguid: warn only once for missing proc qtaguid data
When a process doesn't have /dev/xt_qtaguid open, only warn once instead of for every ctrl access. Change-Id: I98a462a8731254ddc3bf6d2fefeef9823659b1f0 Signed-off-by: JP Abgrall <jpa@google.com>
This commit is contained in:
@@ -1947,8 +1947,15 @@ static int ctrl_cmd_tag(const char *input)
|
||||
spin_lock_bh(&uid_tag_data_tree_lock);
|
||||
pqd_entry = proc_qtu_data_tree_search(
|
||||
&proc_qtu_data_tree, current->tgid);
|
||||
/* TODO: remove if() test, do BUG_ON() */
|
||||
WARN_ON(IS_ERR_OR_NULL(pqd_entry));
|
||||
/*
|
||||
* TODO: remove if, and start failing.
|
||||
* At first, we want to catch user-space code that is not
|
||||
* opening the /dev/xt_qtaguid.
|
||||
*/
|
||||
WARN_ONCE(IS_ERR_OR_NULL(pqd_entry),
|
||||
"qtaguid: User space forgot to open /dev/xt_qtaguid? "
|
||||
"pid=%u tgid=%u uid=%u\n",
|
||||
current->pid, current->tgid, current_fsuid());
|
||||
if (!IS_ERR_OR_NULL(pqd_entry)) {
|
||||
list_add(&sock_tag_entry->list,
|
||||
&pqd_entry->sock_tag_list);
|
||||
@@ -2027,8 +2034,15 @@ static int ctrl_cmd_untag(const char *input)
|
||||
spin_lock_bh(&uid_tag_data_tree_lock);
|
||||
pqd_entry = proc_qtu_data_tree_search(
|
||||
&proc_qtu_data_tree, current->tgid);
|
||||
/* TODO: remove if() test, do BUG_ON() */
|
||||
WARN_ON(IS_ERR_OR_NULL(pqd_entry));
|
||||
/*
|
||||
* TODO: remove if, and start failing.
|
||||
* At first, we want to catch user-space code that is not
|
||||
* opening the /dev/xt_qtaguid.
|
||||
*/
|
||||
WARN_ONCE(IS_ERR_OR_NULL(pqd_entry),
|
||||
"qtaguid: User space forgot to open /dev/xt_qtaguid? "
|
||||
"pid=%u tgid=%u uid=%u\n",
|
||||
current->pid, current->tgid, current_fsuid());
|
||||
if (!IS_ERR_OR_NULL(pqd_entry))
|
||||
list_del(&sock_tag_entry->list);
|
||||
spin_unlock_bh(&uid_tag_data_tree_lock);
|
||||
|
||||
Reference in New Issue
Block a user