Search Linux Wireless

Re: [PATCH 3/8] rfkill: add __must_check annotations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Saturday 02 August 2008, Henrique de Moraes Holschuh wrote:
> rfkill is not a small, mere detail in wireless support.  Once it starts
> supporting rfkill and users start counting on that support, a wireless
> device is at risk of operating in dangerous conditions should rfkill
> support fail to properly activate.
> 
> Therefore, add the required __must_check annotations on some key functions
> of the rfkill API, for which the wireless drivers absolutely MUST handle
> the failure mode safely in order to avoid a potentially dangerous situation
> where the wireless transmitter is left enabled when the user don't want it
> to.
> 
> Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx>
> Cc: Ivo van Doorn <IvDoorn@xxxxxxxxx>
> Cc: Matthew Garrett <mjg@xxxxxxxxxx>

Acked-by: Ivo van Doorn <IvDoorn@xxxxxxxxx>

> ---
>  include/linux/rfkill.h |    5 +++--
>  net/rfkill/rfkill.c    |    5 +++--
>  2 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/include/linux/rfkill.h b/include/linux/rfkill.h
> index aa3c7d5..e92d8e9 100644
> --- a/include/linux/rfkill.h
> +++ b/include/linux/rfkill.h
> @@ -110,9 +110,10 @@ struct rfkill {
>  };
>  #define to_rfkill(d)	container_of(d, struct rfkill, dev)
>  
> -struct rfkill *rfkill_allocate(struct device *parent, enum rfkill_type type);
> +struct rfkill * __must_check rfkill_allocate(struct device *parent,
> +					     enum rfkill_type type);
>  void rfkill_free(struct rfkill *rfkill);
> -int rfkill_register(struct rfkill *rfkill);
> +int __must_check rfkill_register(struct rfkill *rfkill);
>  void rfkill_unregister(struct rfkill *rfkill);
>  
>  int rfkill_force_state(struct rfkill *rfkill, enum rfkill_state state);
> diff --git a/net/rfkill/rfkill.c b/net/rfkill/rfkill.c
> index c1901fb..5320210 100644
> --- a/net/rfkill/rfkill.c
> +++ b/net/rfkill/rfkill.c
> @@ -653,7 +653,8 @@ static void rfkill_remove_switch(struct rfkill *rfkill)
>   * NOTE: If registration fails the structure shoudl be freed by calling
>   * rfkill_free() otherwise rfkill_unregister() should be used.
>   */
> -struct rfkill *rfkill_allocate(struct device *parent, enum rfkill_type type)
> +struct rfkill * __must_check rfkill_allocate(struct device *parent,
> +					     enum rfkill_type type)
>  {
>  	struct rfkill *rfkill;
>  	struct device *dev;
> @@ -724,7 +725,7 @@ static void rfkill_led_trigger_unregister(struct rfkill *rfkill)
>   * structure needs to be registered. Immediately from registration the
>   * switch driver should be able to service calls to toggle_radio.
>   */
> -int rfkill_register(struct rfkill *rfkill)
> +int __must_check rfkill_register(struct rfkill *rfkill)
>  {
>  	static atomic_t rfkill_no = ATOMIC_INIT(0);
>  	struct device *dev = &rfkill->dev;


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux