Re: [PATCH] bluetooth: kill redundant NULL checks and casts beforekfree

From: Jesper Juhl
Date: Tue May 10 2005 - 14:49:22 EST


On Tue, 10 May 2005, Alexey Dobriyan wrote:

> On Tuesday 10 May 2005 23:05, Jesper Juhl wrote:
>
> > There's no need to check for NULL before calling kfree() on a pointer, and
> > since kfree() takes a void* argument there's no need to cast pointers to
> > other types before passing them to kfree().
>
> > + kfree(hdev->driver_data)
>
> This won't compile.
>
Ouch. You are right.
I usually compile test patches, but I have to admit I didn't this time.
Sorry about that. Fixed patch below.


Signed-off-by: Jesper Juhl <juhl-lkml@xxxxxx>
---

diff -upr linux-2.6.12-rc3-mm3-orig/drivers/bluetooth/bpa10x.c linux-2.6.12-rc3-mm3/drivers/bluetooth/bpa10x.c
--- linux-2.6.12-rc3-mm3-orig/drivers/bluetooth/bpa10x.c 2005-03-02 08:38:17.000000000 +0100
+++ linux-2.6.12-rc3-mm3/drivers/bluetooth/bpa10x.c 2005-05-10 20:53:56.000000000 +0200
@@ -367,11 +367,8 @@ static inline void bpa10x_free_urb(struc
if (!urb)
return;

- if (urb->setup_packet)
- kfree(urb->setup_packet);
-
- if (urb->transfer_buffer)
- kfree(urb->transfer_buffer);
+ kfree(urb->setup_packet);
+ kfree(urb->transfer_buffer);

usb_free_urb(urb);
}
diff -upr linux-2.6.12-rc3-mm3-orig/drivers/bluetooth/hci_usb.c linux-2.6.12-rc3-mm3/drivers/bluetooth/hci_usb.c
--- linux-2.6.12-rc3-mm3-orig/drivers/bluetooth/hci_usb.c 2005-04-30 18:24:53.000000000 +0200
+++ linux-2.6.12-rc3-mm3/drivers/bluetooth/hci_usb.c 2005-05-10 20:56:17.000000000 +0200
@@ -387,10 +387,8 @@ static void hci_usb_unlink_urbs(struct h
urb = &_urb->urb;
BT_DBG("%s freeing _urb %p type %d urb %p",
husb->hdev->name, _urb, _urb->type, urb);
- if (urb->setup_packet)
- kfree(urb->setup_packet);
- if (urb->transfer_buffer)
- kfree(urb->transfer_buffer);
+ kfree(urb->setup_packet);
+ kfree(urb->transfer_buffer);
_urb_free(_urb);
}

diff -upr linux-2.6.12-rc3-mm3-orig/drivers/bluetooth/hci_vhci.c linux-2.6.12-rc3-mm3/drivers/bluetooth/hci_vhci.c
--- linux-2.6.12-rc3-mm3-orig/drivers/bluetooth/hci_vhci.c 2005-04-30 18:24:53.000000000 +0200
+++ linux-2.6.12-rc3-mm3/drivers/bluetooth/hci_vhci.c 2005-05-10 21:46:48.000000000 +0200
@@ -78,12 +78,10 @@ static int hci_vhci_close(struct hci_dev

static void hci_vhci_destruct(struct hci_dev *hdev)
{
- struct hci_vhci_struct *vhci;
+ if (!hdev)
+ return;

- if (!hdev) return;
-
- vhci = (struct hci_vhci_struct *) hdev->driver_data;
- kfree(vhci);
+ kfree(hdev->driver_data);
}

static int hci_vhci_send_frame(struct sk_buff *skb)


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