mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	Bluetooth: Use %pMR in sprintf/seq_printf instead of batostr
Instead of old unsafe batostr function use %pMR print specifier for printing Bluetooth addresses in sprintf and seq_printf statements. Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com> Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
This commit is contained in:
		
							parent
							
								
									6ed93dc642
								
							
						
					
					
						commit
						fcb73338ed
					
				
					 8 changed files with 27 additions and 26 deletions
				
			
		| 
						 | 
				
			
			@ -353,7 +353,7 @@ int cmtp_add_connection(struct cmtp_connadd_req *req, struct socket *sock)
 | 
			
		|||
 | 
			
		||||
	BT_DBG("mtu %d", session->mtu);
 | 
			
		||||
 | 
			
		||||
	sprintf(session->name, "%s", batostr(&bt_sk(sock->sk)->dst));
 | 
			
		||||
	sprintf(session->name, "%pMR", &bt_sk(sock->sk)->dst);
 | 
			
		||||
 | 
			
		||||
	session->sock  = sock;
 | 
			
		||||
	session->state = BT_CONFIG;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,7 +38,7 @@ static ssize_t show_link_address(struct device *dev,
 | 
			
		|||
				 struct device_attribute *attr, char *buf)
 | 
			
		||||
{
 | 
			
		||||
	struct hci_conn *conn = to_hci_conn(dev);
 | 
			
		||||
	return sprintf(buf, "%s\n", batostr(&conn->dst));
 | 
			
		||||
	return sprintf(buf, "%pMR\n", &conn->dst);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static ssize_t show_link_features(struct device *dev,
 | 
			
		||||
| 
						 | 
				
			
			@ -224,7 +224,7 @@ static ssize_t show_address(struct device *dev,
 | 
			
		|||
			    struct device_attribute *attr, char *buf)
 | 
			
		||||
{
 | 
			
		||||
	struct hci_dev *hdev = to_hci_dev(dev);
 | 
			
		||||
	return sprintf(buf, "%s\n", batostr(&hdev->bdaddr));
 | 
			
		||||
	return sprintf(buf, "%pMR\n", &hdev->bdaddr);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static ssize_t show_features(struct device *dev,
 | 
			
		||||
| 
						 | 
				
			
			@ -406,8 +406,8 @@ static int inquiry_cache_show(struct seq_file *f, void *p)
 | 
			
		|||
 | 
			
		||||
	list_for_each_entry(e, &cache->all, all) {
 | 
			
		||||
		struct inquiry_data *data = &e->data;
 | 
			
		||||
		seq_printf(f, "%s %d %d %d 0x%.2x%.2x%.2x 0x%.4x %d %d %u\n",
 | 
			
		||||
			   batostr(&data->bdaddr),
 | 
			
		||||
		seq_printf(f, "%pMR %d %d %d 0x%.2x%.2x%.2x 0x%.4x %d %d %u\n",
 | 
			
		||||
			   &data->bdaddr,
 | 
			
		||||
			   data->pscan_rep_mode, data->pscan_period_mode,
 | 
			
		||||
			   data->pscan_mode, data->dev_class[2],
 | 
			
		||||
			   data->dev_class[1], data->dev_class[0],
 | 
			
		||||
| 
						 | 
				
			
			@ -440,7 +440,7 @@ static int blacklist_show(struct seq_file *f, void *p)
 | 
			
		|||
	hci_dev_lock(hdev);
 | 
			
		||||
 | 
			
		||||
	list_for_each_entry(b, &hdev->blacklist, list)
 | 
			
		||||
		seq_printf(f, "%s\n", batostr(&b->bdaddr));
 | 
			
		||||
		seq_printf(f, "%pMR\n", &b->bdaddr);
 | 
			
		||||
 | 
			
		||||
	hci_dev_unlock(hdev);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -932,8 +932,12 @@ static int hidp_setup_hid(struct hidp_session *session,
 | 
			
		|||
	hid->country = req->country;
 | 
			
		||||
 | 
			
		||||
	strncpy(hid->name, req->name, 128);
 | 
			
		||||
	strncpy(hid->phys, batostr(&bt_sk(session->ctrl_sock->sk)->src), 64);
 | 
			
		||||
	strncpy(hid->uniq, batostr(&bt_sk(session->ctrl_sock->sk)->dst), 64);
 | 
			
		||||
 | 
			
		||||
	snprintf(hid->phys, sizeof(hid->phys), "%pMR",
 | 
			
		||||
		 &bt_sk(session->ctrl_sock->sk)->src);
 | 
			
		||||
 | 
			
		||||
	snprintf(hid->uniq, sizeof(hid->uniq), "%pMR",
 | 
			
		||||
		 &bt_sk(session->ctrl_sock->sk)->dst);
 | 
			
		||||
 | 
			
		||||
	hid->dev.parent = &session->conn->dev;
 | 
			
		||||
	hid->ll_driver = &hidp_hid_driver;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5640,12 +5640,11 @@ static int l2cap_debugfs_show(struct seq_file *f, void *p)
 | 
			
		|||
	list_for_each_entry(c, &chan_list, global_l) {
 | 
			
		||||
		struct sock *sk = c->sk;
 | 
			
		||||
 | 
			
		||||
		seq_printf(f, "%s %s %d %d 0x%4.4x 0x%4.4x %d %d %d %d\n",
 | 
			
		||||
					batostr(&bt_sk(sk)->src),
 | 
			
		||||
					batostr(&bt_sk(sk)->dst),
 | 
			
		||||
					c->state, __le16_to_cpu(c->psm),
 | 
			
		||||
					c->scid, c->dcid, c->imtu, c->omtu,
 | 
			
		||||
					c->sec_level, c->mode);
 | 
			
		||||
		seq_printf(f, "%pMR %pMR %d %d 0x%4.4x 0x%4.4x %d %d %d %d\n",
 | 
			
		||||
			   &bt_sk(sk)->src, &bt_sk(sk)->dst,
 | 
			
		||||
			   c->state, __le16_to_cpu(c->psm),
 | 
			
		||||
			   c->scid, c->dcid, c->imtu, c->omtu,
 | 
			
		||||
			   c->sec_level, c->mode);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	read_unlock(&chan_list_lock);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2125,11 +2125,10 @@ static int rfcomm_dlc_debugfs_show(struct seq_file *f, void *x)
 | 
			
		|||
		list_for_each_entry(d, &s->dlcs, list) {
 | 
			
		||||
			struct sock *sk = s->sock->sk;
 | 
			
		||||
 | 
			
		||||
			seq_printf(f, "%s %s %ld %d %d %d %d\n",
 | 
			
		||||
						batostr(&bt_sk(sk)->src),
 | 
			
		||||
						batostr(&bt_sk(sk)->dst),
 | 
			
		||||
						d->state, d->dlci, d->mtu,
 | 
			
		||||
						d->rx_credits, d->tx_credits);
 | 
			
		||||
			seq_printf(f, "%pMR %pMR %ld %d %d %d %d\n",
 | 
			
		||||
				   &bt_sk(sk)->src, &bt_sk(sk)->dst,
 | 
			
		||||
				   d->state, d->dlci, d->mtu,
 | 
			
		||||
				   d->rx_credits, d->tx_credits);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -973,10 +973,9 @@ static int rfcomm_sock_debugfs_show(struct seq_file *f, void *p)
 | 
			
		|||
	read_lock(&rfcomm_sk_list.lock);
 | 
			
		||||
 | 
			
		||||
	sk_for_each(sk, node, &rfcomm_sk_list.head) {
 | 
			
		||||
		seq_printf(f, "%s %s %d %d\n",
 | 
			
		||||
				batostr(&bt_sk(sk)->src),
 | 
			
		||||
				batostr(&bt_sk(sk)->dst),
 | 
			
		||||
				sk->sk_state, rfcomm_pi(sk)->channel);
 | 
			
		||||
		seq_printf(f, "%pMR %pMR %d %d\n",
 | 
			
		||||
			   &bt_sk(sk)->src, &bt_sk(sk)->dst,
 | 
			
		||||
			   sk->sk_state, rfcomm_pi(sk)->channel);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	read_unlock(&rfcomm_sk_list.lock);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -166,7 +166,7 @@ static struct device *rfcomm_get_device(struct rfcomm_dev *dev)
 | 
			
		|||
static ssize_t show_address(struct device *tty_dev, struct device_attribute *attr, char *buf)
 | 
			
		||||
{
 | 
			
		||||
	struct rfcomm_dev *dev = dev_get_drvdata(tty_dev);
 | 
			
		||||
	return sprintf(buf, "%s\n", batostr(&dev->dst));
 | 
			
		||||
	return sprintf(buf, "%pMR\n", &dev->dst);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static ssize_t show_channel(struct device *tty_dev, struct device_attribute *attr, char *buf)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -959,8 +959,8 @@ static int sco_debugfs_show(struct seq_file *f, void *p)
 | 
			
		|||
	read_lock(&sco_sk_list.lock);
 | 
			
		||||
 | 
			
		||||
	sk_for_each(sk, node, &sco_sk_list.head) {
 | 
			
		||||
		seq_printf(f, "%s %s %d\n", batostr(&bt_sk(sk)->src),
 | 
			
		||||
			   batostr(&bt_sk(sk)->dst), sk->sk_state);
 | 
			
		||||
		seq_printf(f, "%pMR %pMR %d\n", &bt_sk(sk)->src,
 | 
			
		||||
			   &bt_sk(sk)->dst, sk->sk_state);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	read_unlock(&sco_sk_list.lock);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue