Is `IS_ERR_VALUE` indicates that the return value is invalid?

Mulyadi Santosa mulyadi.santosa at gmail.com
Thu Nov 21 01:43:40 EST 2013


On Wed, Nov 20, 2013 at 5:12 PM, Anand Moon <moon.linux at yahoo.com> wrote:
> Hi
>
> Please find the example to user file open in kernel below.  source file
> #linux/sound/sound_firmware.c
>
> struct file* filp;
>
> filp = filp_open(fn, 0, 0);
> if (IS_ERR(filp))
> {
>         printk(KERN_INFO "Unable to load '%s'.\n", fn);
>         return 0;
> }
>
> IS_ERR expand to below example.
>
> #define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO)

IMHO, IS_ERR is a check to make sure that error number is not greater
that maximum error number defined, in other word, is it still valid or
not.


Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com



More information about the Kernelnewbies mailing list