All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrei Emeltchenko <andrei.emeltchenko.news@gmail.com>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH] Bluetooth: Fix broken usage of get_unaligned_le16
Date: Tue, 13 Mar 2012 09:29:40 +0200	[thread overview]
Message-ID: <20120313072933.GA15895@aemeltch-MOBL1> (raw)
In-Reply-To: <1331609468-22906-1-git-send-email-marcel@holtmann.org>

Hi Marcel,

On Mon, Mar 12, 2012 at 08:31:08PM -0700, Marcel Holtmann wrote:
> In case the struct is already __packed, there is no need to use unaligned
> access to the data. So just use __le16_to_cpu in these cases.

One minor comment related to use of __xxx versions. What is the general
rule when to use __le16_to_cpu and when le16_to_cpu? In mgmt.c looks that
mostly in use version without underscore.

Best regards 
Andrei Emeltchenko 

> 
> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
> ---
>  net/bluetooth/mgmt.c |   12 ++++++------
>  1 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
> index 5aa2c9e..ea2677d 100644
> --- a/net/bluetooth/mgmt.c
> +++ b/net/bluetooth/mgmt.c
> @@ -862,7 +862,7 @@ static int set_discoverable(struct sock *sk, struct hci_dev *hdev, void *data,
>  
>  	BT_DBG("request for %s", hdev->name);
>  
> -	timeout = get_unaligned_le16(&cp->timeout);
> +	timeout = __le16_to_cpu(cp->timeout);
>  	if (!cp->val && timeout > 0)
>  		return cmd_status(sk, hdev->id, MGMT_OP_SET_DISCOVERABLE,
>  				  MGMT_STATUS_INVALID_PARAMS);
> @@ -1461,7 +1461,7 @@ static int load_link_keys(struct sock *sk, struct hci_dev *hdev, void *data,
>  	u16 key_count, expected_len;
>  	int i;
>  
> -	key_count = get_unaligned_le16(&cp->key_count);
> +	key_count = __le16_to_cpu(cp->key_count);
>  
>  	expected_len = sizeof(*cp) + key_count *
>  					sizeof(struct mgmt_link_key_info);
> @@ -2606,7 +2606,7 @@ static int load_long_term_keys(struct sock *sk, struct hci_dev *hdev,
>  	u16 key_count, expected_len;
>  	int i;
>  
> -	key_count = get_unaligned_le16(&cp->key_count);
> +	key_count = __le16_to_cpu(cp->key_count);
>  
>  	expected_len = sizeof(*cp) + key_count *
>  					sizeof(struct mgmt_ltk_info);
> @@ -2717,9 +2717,9 @@ int mgmt_control(struct sock *sk, struct msghdr *msg, size_t msglen)
>  	}
>  
>  	hdr = buf;
> -	opcode = get_unaligned_le16(&hdr->opcode);
> -	index = get_unaligned_le16(&hdr->index);
> -	len = get_unaligned_le16(&hdr->len);
> +	opcode = __le16_to_cpu(hdr->opcode);
> +	index = __le16_to_cpu(hdr->index);
> +	len = __le16_to_cpu(hdr->len);
>  
>  	if (len != msglen - sizeof(*hdr)) {
>  		err = -EINVAL;
> -- 
> 1.7.7.6
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2012-03-13  7:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-13  3:31 [PATCH] Bluetooth: Fix broken usage of get_unaligned_le16 Marcel Holtmann
2012-03-13  7:29 ` Andrei Emeltchenko [this message]
2012-03-13 15:15   ` Marcel Holtmann
2012-03-16 15:36 ` Johan Hedberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120313072933.GA15895@aemeltch-MOBL1 \
    --to=andrei.emeltchenko.news@gmail.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=marcel@holtmann.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.